के साथ संघर्ष करता है मुझे कुछ वसंत बीन परिभाषाओं में समस्या है। मेरे पास कुछ संदर्भ xml फ़ाइलें हैं जो मेरी मुख्य() विधि द्वारा लोड की जा रही हैं, और उनमें से दोनों में लगभग एक टैग शामिल है। मेरी मुख्य विधि शुरू होता है, मैं वसंत से इस त्रुटि मिलती है:एनोटेशन-निर्दिष्ट बीन नाम मौजूदा, गैर-संगत बीन डीफ़
@Repository("converterDAO")
public class StaticConverterDAOImpl implements ConverterDAO {
...
}
इन-स्मृति दाव भी @Repository ("converterDAO" है:
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'converterDAO' for bean class [my.package.InMemoryConverterDaoImpl] conflicts with existing, non-compatible bean definition of same name and class [my.other.package.StaticConverterDAOImpl]
दोनों डीएओ कक्षाएं इस तरह से एनोटेट) एनोटेशन। दाव इस तरह अन्य वर्गों में संदर्भित है:
...
private @Autowired @Qualifier("converterDAO") ConverterDAO converterDAO;
...
मैं एक डीएओ चाहते एक दूसरे की परिभाषा है, जो जैसा कि मैं हमेशा से समझ में आ यह प्रमुख कारण पहले में एक डि ढांचे का उपयोग करने के लिए में से एक था ओवरराइड करने के लिए जगह। मैं वर्षों से एक्सएमएल परिभाषाओं के साथ ऐसा कर रहा हूं और कभी भी कोई समस्या नहीं थी। लेकिन घटक स्कैन और एनोटेटेड बीन परिभाषाओं के साथ ऐसा नहीं है? और वसंत का क्या मतलब है जब यह कहता है कि वे "संगत" नहीं हैं? वे एक ही इंटरफ़ेस को लागू है, और वे फ़ील्ड्स कि इंटरफ़ेस प्रकार के होते हैं में autowired कर रहे हैं। वे बिल्ली क्यों संगत नहीं हैं?
क्या कोई मुझे एक एनोटेटेड, घटक-स्कैन किए गए बीन के लिए किसी अन्य को ओवरराइड करने का तरीका प्रदान कर सकता है?
-माइक
आपके साथ दूसरे कोड स्निपेन के साथ कुछ मजाकिया है ... कृपया इसे जांचें। – Yevgeniy
शायद आपको अपनी मुख्य विधि साझा करने की आवश्यकता है? –
कृपया कनवर्टर डीडीओ क्षेत्र की वास्तविक घोषणा जोड़ें। क्या यह 'कनवर्टरडाओ' इंटरफ़ेस या कार्यान्वयन है - यह प्रश्न से स्पष्ट नहीं है। –