मैं @Autowired के साथ कुछ मुद्दों का सामना करना पड़ गया था और तब @Qualifier उपयोग शुरू कर दिया है और मैं अंत में पता लगाने के लिए जब @Qualifier साथ @Autowired उपयोग करने के लिए जब एक ही प्रकार के अनेक सेम परिभाषित कर रहे हैं सक्षम था।
मान लीजिए आप एक ही प्रकार लेकिन विभिन्न मूल्यों के 2 सेम को परिभाषित:
<bean id="appContext1" class="com.context.AppContext">
<constructor-arg value="abc" />
<bean/>
<bean id="appContext2" class="com.context.AppContext">
<constructor-arg value="ABC" />
<bean/>
फिर
तुम सिर्फ @Autowire उपयोग करने के लिए कोशिश कर रहे हैं, तो आप किसी और यह सेम नाम के रूप में एक ही चर नाम का उपयोग करना कई प्रकार के रूप में त्रुटि मिलेगी।
@Autowired
AppContext appContext;
उपरोक्त उपयोग के मामले के लिए आपको क्वालीफायर का उपयोग करना होगा।
@Autowired
@Qualifier("appContext1")
AppContext appContext;
इसके बजाय, यदि आप चर नाम सेम नाम के रूप में एक ही उपयोग करते हैं, आप @Qualifier के उपयोग को समाप्त कर सकते हैं।
@Autowired
AppContext appContext1;
मैं हमेशा चर नाम सेम नाम के रूप में एक ही उपयोग कर रहा था, लेकिन गलती से कुछ अन्य चर नाम था और इस मुद्दे का सामना करना पड़ा।
मुझे कोई संदेह है तो मुझे बताएं।
स्रोत
2014-01-08 05:00:28
[@ संसाधन बनाम @Autowired] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4093504/resource-vs-autowired) – skaffman