मेरा लक्ष्य एक ढांचा है जहां कंक्रीट प्रकार के बीन्स को गुण फ़ाइल द्वारा आसानी से बदला जा सकता है। मैं एक्सएमएल को एनोटेशन भी पसंद करता हूं।एनोटेशन का उपयोग कर वसंत ऑटोवायर और गुण फ़ाइल में परिभाषित एक प्रकार?
@Resource(type="#{myProperties['enabled.subtype']}")
SomeInterface foo;
जहां मैं एक PropertiesFactoryBean
या <util:properties>
शामिल है कि एक फ़ाइल से साथ myProperties
लोड किया है::
enabled.type = com.mycompany.SomeClassA; // which implements SomeInterface
यह नहीं है आदर्श रूप में मैं इस तरह की @Resource
और स्पेल एक संयोजन का उपयोग करने के लिए चाहते काम करें क्योंकि type
का तर्क एक शाब्दिक होना चाहिए, यानि, कोई स्पेल अनुमत नहीं होना चाहिए। यहाँ सबसे अच्छा अभ्यास क्या है?
अद्यतन: नीचे मेरा उत्तर देखें।
यदि आप आलसी हो जाते हैं तो @Bean (autowire = Autowire.BY_TYPE) पर विचार करें। –