2012-02-07 22 views
14

वसंत में, आप क्वालीफायर रखने के लिए एक बीन एक्सएमएल कॉन्फ़िगर कर सकते हैं। जावा एनोटेशन के माध्यम से बीन्स को कॉन्फ़िगर करते समय मुझे लगता है कि मैं क्वालीफायर कैसे संलग्न कर सकता हूं। उसके साथ क्या है? क्या मुझे सिर्फ सादे पुराने नामों का उपयोग करना है?वसंत: जावा-कॉन्फ़िगर किया गया बीन्स

उत्तर

27

आप एनोटेशन (नहीं जावा आधारित विन्यास) का उपयोग कर रहे हैं, तो आप एक क्वालीफायर जोड़ने के लिए निम्नलिखित का उपयोग कर सकते हैं (देखें Spring documentation):

@Component 
@Qualifier("myQualifier") 
public class MyBean { 
    //code 
} 

और बीन में तार करने के लिए, निम्न का उपयोग करें (फिर, Spring documentation देखें):

public class MyClass { 

    @Autowired 
    @Qualifier("myQualifier") 
    private MyBean myBean; 

    //more code 

} 
+4

और '@ कॉम्पोनेंट ("घटक नाम") के साथ क्या गलत है? कैसे @ @ कॉम्पोनेंट @ क्वालीफायर 'बेहतर है? – Nick

18

क्या, @Qualifier की तरह, आपका मतलब है?

3.10.4 Defining bean metadata within components

उदाहरण:

@Bean @Qualifier("public") 
    public TestBean publicInstance() { 
     return new TestBean("publicInstance"); 
    } 
+1

+1। ऑटोवॉयरिंग के लिए मेरा जवाब भी देखें (इसे यहां नहीं जोड़ा गया बी/सी कोड पढ़ना मुश्किल होगा)। –

संबंधित मुद्दे