मैं जावा आधारित config उपयोग कर रहा हूँ इस तरह मेरी स्प्रिंग आवेदन संदर्भ स्थापित करने के लिए:वसंत में @ComponentScan के साथ सभी बीन्स को आलसी कैसे लोड करें?
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
बीन्स config में स्पष्ट रूप से परिभाषित, lazily भरी हुई है जैसे आप अपेक्षा करते हैं। हालांकि, स्कैन किए गए वर्ग @Named
के साथ एनोटेटेड हमेशा उत्सुकता से लोड होते हैं। इसे कैसे हल किया जा सकता है?
किसी भी मदद की सराहना की जाती है।
ध्यान दें कि MyProject
पैकेज में कक्षाओं के लिए, मैं उन्हें @Lazy
साथ के रूप में अच्छी व्याख्या इस पर काम कर सकते हैं। लेकिन दूसरी परियोजना में वसंत की निर्भरता नहीं है और मैं इसे इस तरह रखना चाहता हूं (इसलिए @Named
और @Component
नहीं)।
ध्यान दें कि यह XML- आधारित कॉन्फ़िगरेशन में कोई समस्या नहीं है। वहां, <beans>
टैग सीम में default-lazy-init="true"
सेट करना जो मैं चाहता हूं (हालांकि मैंने इसका परीक्षण नहीं किया है)।
इतना छोटा है '<सेम जोड़ने का प्रयास करें डिफ़ॉल्ट-आलसी-init = "सत्य" /> 'एक्सएमएल फ़ाइल और जावा कॉन्फ़िगरेशन में बाकी छोड़ दें। यदि '@ कॉन्फ़िगरेशन' के साथ ऐसा करने का कोई तरीका नहीं है, तो [कोई समस्या उठाएं] (https://jira.springsource.org/secure/Dashboard.jspa) में संकोच न करें। –
इसे जांचें: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/Lazy.html – Elbek
इस पर एक बग रिपोर्ट खुलती है: https: // jira.spring.io/browse/SPR-10459 –