क्या @Resource वैकल्पिक बनाने का कोई तरीका है? इसका मतलब है कि अगर मेरे पास @Resource द्वारा अनुरोध किए गए प्रकार का बीन नहीं है, तो मुझे अपवाद नहीं मिलेगा, लेकिन यह सिर्फ शून्य पर सेट होगा।आप @Resource वैकल्पिक कैसे बनाते हैं?
उत्तर
ठीक है ऐसा लगता है कि यह संभव नहीं है। @Autowired (आवश्यक = झूठी) का उपयोग करना पड़ा। मैं वास्तव में क्या नहीं चाहता था, लेकिन यह करेगा।
करेगा यह संसाधन वैकल्पिक बनाता है, इसलिए आप यह करना चाहते हैं, भले ही आप इसे नहीं जानते :) –
स्वत: और संसाधन दो अलग-अलग चीजें हैं, <उपयोग को इंजेक्ट करने का प्रयास करें : नक्शा आईडी = "myMap"> ऑटोवायर के साथ - यह केवल बीन्स के लिए काम करेगा लेकिन संसाधनों के लिए नहीं –
@ डैन्यूबियन सेलर - '@ ऑटोवायर' एक वसंत एनोटेशन है, जबकि' संसाधन 'एक सामान्य जावा एनोटेशन है। यदि आप वसंत का उपयोग नहीं कर रहे हैं, तो '@ Autowired' भी एक विकल्प नहीं होगा। –
आप इस लक्ष्य को हासिल करने के लिए एक कस्टम कारखाने सेम का उपयोग करने में सक्षम होना चाहिए:
अपने वैकल्पिक सेम के लिएpublic class OptionalFactoryBean<T> implements BeanFactoryAware, FactoryBean<T> {
private String beanName;
public void setBeanName(String beanName) {
this.beanName = beanName;
}
@Override
public T getObject() throws Exception {
T result;
try {
result = beanFactory.getBean(beanName);
} catch (NoSuchBeanDefinitionException ex) {
result = null;
}
return result;
}
private BeanFactory beanFactory;
@Override
public void setBeanFactory(BeanFactory beanFactory) {
this.beanFactory = beanFactory;
}
private Class<?> objectType = Object.class;
public void setObjectType(Class<?> objectType) {
this.objectType = objectType != null? objectType : Object.class;
}
@Override
public Class<?> getObjectType() {
return objectType;
}
@Override
public boolean isSingleton() {
return true;
}
}
स्प्रिंग विन्यास होगा:
<bean id="myBean" class="mypackage.OptionalFactoryBean" scope="singleton">
<property name="beanName" value="myRealBean"/>
<property name="objectType" value="mypackage.MyRealBean"/>
</bean>
और तुम null
इंजेक्शन मिलेगा। फिर आप परिभाषित कर सकते हैं:
<bean id="myRealBean" class="mypackage.MyRealBean" ...>
<!-- .... -->
</bean>
यदि आप कुछ विशेष बीन इंजेक्ट करना चाहते हैं।
- 1. आप शेफ संसाधन वैकल्पिक कैसे बनाते हैं?
- 2. आप php में वैकल्पिक तर्क कैसे बनाते हैं?
- 3. आप पर्ल में ऑब्जेक्ट्स कैसे बनाते हैं?
- 4. आप रेटिंग कार्यान्वयन कैसे बनाते हैं?
- 5. आप जावा में शब्दकोश कैसे बनाते हैं?
- 6. आप कैलियर की प्रतिलिपि कैसे बनाते हैं?
- 7. आप मूस में उपप्रकार कैसे बनाते हैं?
- 8. आप डब्ल्यूसीएफ टेस्ट पेज कैसे बनाते हैं?
- 9. आप UIBarButtonItem एनीमेशन फ्लिप कैसे बनाते हैं?
- 10. आप एक बंद फ़नल कैसे बनाते हैं?
- 11. आप जावास्क्रिप्ट में कक्षाएं कैसे बनाते हैं?
- 12. आप div "tabbable" कैसे बनाते हैं?
- 13. आप एक छवि झपकी कैसे बनाते हैं?
- 14. MySQL आप क्लस्टर्ड इंडेक्स कैसे बनाते हैं?
- 15. आप एक असेंबलर कैसे बनाते हैं?
- 16. आप लिनक्स जीयूआई कैसे बनाते हैं?
- 17. आप भाषा बाइंडिंग कैसे बनाते हैं?
- 18. नियमित अभिव्यक्ति में वर्ण वैकल्पिक बनाते हैं
- 19. आप निर्देशिका में शॉर्टकट कैसे बनाते हैं ताकि यह एक्सप्लोरर
- 20. आप विजुअल स्टूडियो में इकाई आरेख कैसे बनाते हैं?
- 21. आप Django ऐप प्लग करने योग्य कैसे बनाते हैं?
- 22. आप पाइथन/पोस्टग्रेएसक्यूएल को तेज़ी से कैसे बनाते हैं?
- 23. आप एनएसआईएस के साथ एक अद्यतन इंस्टॉलर कैसे बनाते हैं?
- 24. आप वर्तमान कार्य निर्देशिका में log4net आउटपुट कैसे बनाते हैं?
- 25. आप एल्म में गतिशील रूप से इनपुट कैसे बनाते हैं?
- 26. आप अपने रेल ऐप की योजना कैसे बनाते हैं?
- 27. कॉलम के साथ आप 100% चौड़ाई तालिका कैसे बनाते हैं?
- 28. आप UIImageView इंस्टेंस की एक प्रति कैसे बनाते हैं?
- 29. आप एक आरईएसटी एपीआई कैसे बनाते हैं और मेटीर
- 30. आप एक फ्रीस्टैंडिंग सी ++ प्रोग्राम कैसे बनाते हैं?
यहां देखें http://stackoverflow.com/questions/3957430/optional-spring-bean-references.It आपके लिए उपयोगी हो सकता है – PSR
ठीक है ऐसा लगता है कि यह संभव नहीं है। @Autowired (आवश्यक = झूठी) का उपयोग करना पड़ा। मैं वास्तव में क्या चाहता था, लेकिन यह – MrProper