स्प्रिंग - एनोटेशन आधारित कॉन्फ़िगरेशन
स्प्रिंग 2.5 से शुरू करके निर्भरता इंजेक्शन का उपयोग करके कॉन्फ़िगर करना संभव हो गया annotations। इसलिए बीन वायरिंग का वर्णन करने के लिए एक्सएमएल का उपयोग करने के बजाय, आप संबंधित क्लास, मेथड या फील्ड डिक्लेरेशन पर एनोटेशन का उपयोग करके बीन कॉन्फ़िगरेशन को कंपोनेंट क्लास में ही स्थानांतरित कर सकते हैं।
एक्सएमएल इंजेक्शन एक्सएमएल इंजेक्शन से पहले किया जाता है। इस प्रकार, बाद का विन्यास दोनों दृष्टिकोणों के माध्यम से वायर्ड गुणों के लिए पूर्व को ओवरराइड करेगा।
डिफ़ॉल्ट रूप से स्प्रिंग कंटेनर में एनोटेशन वायरिंग चालू नहीं होती है। इसलिए, इससे पहले कि हम एनोटेशन-आधारित वायरिंग का उपयोग कर सकें, हमें अपनी स्प्रिंग कॉन्फ़िगरेशन फ़ाइल में इसे सक्षम करने की आवश्यकता होगी। इसलिए यदि आप अपने स्प्रिंग एप्लिकेशन में किसी एनोटेशन का उपयोग करना चाहते हैं, तो निम्नलिखित कॉन्फ़िगरेशन फ़ाइल पर विचार करें।
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
<!-- bean definitions go here -->
</beans>
एक बार <संदर्भ: एनोटेशन-कॉन्फ़िगरेशन /> कॉन्फ़िगर किया गया है, आप यह इंगित करने के लिए अपना कोड एनोटेट करना शुरू कर सकते हैं कि स्प्रिंग को स्वचालित रूप से गुणों, विधियों, और कंस्ट्रक्टर में वायर को तार करना चाहिए। आइए हम यह समझने के लिए कुछ महत्वपूर्ण एनोटेशन देखें कि वे कैसे काम करते हैं -
अनु क्रमांक। | एनोटेशन और विवरण |
---|---|
1 | @Required @ असमान एनोटेशन बीन प्रॉपर्टी सेटर विधियों पर लागू होता है। |
2 | @Autowired @Autowired एनोटेशन सेम प्रॉपर्टी सेटर विधियों, गैर-सेटर विधियों, कंस्ट्रक्टर और गुणों पर लागू हो सकता है। |
3 | @Qualifier @Autowired के साथ @Qualifier एनोटेशन का उपयोग यह निर्दिष्ट करके भ्रम को दूर करने के लिए किया जा सकता है कि कौन सा बीन वायर्ड होगा। |
4 | JSR-250 एनोटेशन स्प्रिंग JSR-250 आधारित एनोटेशन का समर्थन करता है जिसमें @Resource, @PostConstruct और @PreDestroy एनोटेशन शामिल हैं। |