मैं कुछ समय के लिए वसंत का उपयोग कर रहा हूं, लेकिन मैं हमेशा सोचता हूं कि यह कैसे काम करता है, अधिक विशेष रूप से, वे कैसे लोड करते हैं और बुनाई बीन्स/कक्षाएं केवल इंटरफ़ेस या @ एनोटेशन।स्प्रिंग फ्रेमवर्क और अन्य आईओसी कंटेनर के आंतरिक
एक्सएमएल घोषणाओं के लिए, यह देखना आसान है कि कैसे वसंत मेरे बीन्स को प्रीप्रोकैस करता है (उन्हें एक्सएमएल संदर्भ में घोषित किया जाता है जो वसंत पढ़ता है), लेकिन केवल एनोटेशन के साथ चिह्नित वर्गों के लिए, मैं नहीं देख सकता कि यह कैसे काम करता है मैं किसी भी एजेंट को jvm या तो पास नहीं करता हूं।
मुझे विश्वास है कि कुछ जावा/जेवीएम हुक है जो आपको कुछ प्रकार के मानदंडों से कक्षाओं को प्रीप्रोसेस करने की अनुमति देता है, लेकिन मैं दस्तावेज़ों पर कुछ भी नहीं ढूंढ पाया।
क्या कोई मुझे कुछ दस्तावेज़ों में इंगित कर सकता है? क्या यह java.lang.instrument.ClassFileTransformer एपीआई से संबंधित है?
धन्यवाद, महान जवाब! मैं थोड़ी परेशान था कि वसंत या कोई अन्य ढांचा मेरे वर्गों को कंटेनर में आपूर्ति किए बिना कैसे पहुंचा सकता है, लेकिन अब यह समझ में आता है :) –
मुझे यह इंगित करना चाहिए कि प्रॉक्सी के उपयोग का अर्थ है कि आपको वसंत का उपयोग करने के लिए इंटरफेस को कोड करना होगा बुनाई के बिना (प्रॉक्सी केवल इंटरफेस के साथ काम करता है) –
नहीं। जेडीके प्रॉक्सी केवल इंटरफेस के साथ काम करते हैं, सीजीएलआईबी प्रॉक्सी सामान्य कक्षाओं के साथ भी काम करते हैं। –