मेरे पास यह स्प्रिंग कॉन्फ़िगरेशन है:वसंत Autowiring कक्षा बनाम इंटरफ़ेस?
<bean id="boo" class="com.x.TheClass"/>
कक्षा TheClass
TheInterface
लागू करता है। तब मेरे पास यह (काल्पनिक) जावा कोड है:
@Autowired
TheInterface x;
@Autowired
TheClass y;
TheInterface
काम करता है लेकिन TheClass
की ऑटोवॉयरिंग विफल हो जाती है। वसंत मुझे कक्षा के लिए एक NoSuchBeanDefinitionException
देता है।
आप इंटरफ़ेस को क्यों तार कर सकते हैं, कक्षा नहीं?
क्या इस वर्ग के बारे में कुछ खास है, जैसे कि यह 'अंतिम' है, या अन्य उपकरण, जैसे @ ट्रांसेक्शनल, पर। आप या तो CGLIB की तरह एक वाद्ययंत्र lib, या अंतिम श्रेणी पर एक उपclass प्रॉक्सी बनाने की कोशिश कर रहे हैं। – ptomli