दोनों का इस्तेमाल बीन उदाहरण प्राप्त करने के लिए किया जा सकता है, लेकिन इसे लागू करने के लिए कौन सा बेहतर उपयोग किया जा सकता है?वसंत बीनफैक्टरीएवेयर और एप्लिकेशनकॉन्टेक्स्टवेयर के बीच क्या अंतर है?
उत्तर
यदि आपको BeanFactory
के संदर्भ की आवश्यकता है, तो BeanFactoryAware
का उपयोग करें। यदि आपको ApplicationContext
के संदर्भ की आवश्यकता है, तो ApplicationContextAware
का उपयोग करें।
ध्यान दें कि ApplicationContext
इंटरफ़ेस BeanFactory
का उप-वर्ग है, और मूल BeanFactory
इंटरफ़ेस के शीर्ष पर अतिरिक्त विधियां प्रदान करता है।
यदि आपको केवल getBean()
पर कॉल करने की आवश्यकता है, तो BeanFactory
पर्याप्त है।
ध्यान दें कि स्प्रिंग 2.5+ BeanFactory
या ApplicationContext
के साथ स्वयं को तारित करने का एक अच्छा तरीका प्रदान करता है, उदा।
private @Autowired ApplicationContext appContext;
private @Autowired BeanFactory beanFactory;
XyzAware
इंटरफेस की कोई आवश्यकता नहीं है।
क्या आपको एप्लिकेशन कॉन्टेक्स्ट पर उपलब्ध अतिरिक्त सुविधाओं तक पहुंच की आवश्यकता है? यदि ऐसा है, तो आपको निश्चित रूप से एप्लिकेशनकॉन्टेक्स्टवेयर का उपयोग करना चाहिए। यदि नहीं, बीनफ़ैक्टरीएवेयर पर्याप्त होगा।
कई अन्य चीजों के अलावा, एप्लिकेशन कॉन्टेक्स्ट में बीन्स का निरीक्षण करने के लिए अतिरिक्त विधियां हैं। containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeansOfType है कि आप के लिए उपयोगी हो सकता है और जो पर उपलब्ध नहीं हैं BeanFactory
मैं आमतौर पर ApplicationContextAware
लागू एक ApplicationContext
है BeanFactory
का एक विस्तारित संस्करण और इसलिए अतिरिक्त कार्यक्षमता प्रदान करता है।
तो ApplicationContextAware
या BeanFactoryAware
का उपयोग करने के लिए सवाल उठता है: क्या आपको स्पष्ट रूप से अतिरिक्त ApplicationContext
कार्यक्षमताओं की आवश्यकता है? यदि आप ApplicationContextAware
लागू करते हैं तो अन्यथा BeanFactoryAware
पर चिपके रहें।
- 1. ईजेबी, हाइबरनेट, वसंत और जेएसएफ के बीच क्या अंतर है?
- 2. वसंत - request.setAttribute और model.addAttribute के बीच अंतर?
- 3. वसंत टीएक्स के बीच अंतर: सलाह और वसंत एओपी पॉइंटकट
- 4. वसंत एकीकरण और जेबॉस जेबीपीएम के बीच अंतर क्या हैं?
- 5. वसंत-संदर्भ और वसंत-कोर निर्भरताओं के बीच क्या अंतर है?
- 6. # {} $ {} और% {} के बीच क्या अंतर है?
- 7. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 8. $ और $$ के बीच क्या अंतर है?
- 9. के बीच क्या अंतर है:। और: आर !?
- 10. भिन्नता और '-' के बीच क्या अंतर है?
- 11. "$^एन" और "$ +" के बीच क्या अंतर है?
- 12. स्प्रिंग एमवीसी: वसंत के बीच अंतर: बाध्य और रूप: फॉर्म
- 13. के बीच क्या अंतर है?
- 14. अंतर और कहां के बीच क्या अंतर है?
- 15. वसंत के जीए, आरसी और एम 2 रिलीज के बीच क्या अंतर है?
- 16. वसंत autodetection के लिए, घटक और सेवा के बीच क्या अंतर है?
- 17. वसंत सुरक्षा 3 में @ सुरक्षित और @PreAuthorize के बीच क्या अंतर है?
- 18. वसंत में बीनपोस्टप्रोसेसर और init/नष्ट विधि के बीच क्या अंतर है?
- 19. वसंत सुरक्षा: लॉक किए गए खाते के बीच क्या अंतर है और सक्षम नहीं
- 20. file_get_contents और fread बीच क्या अंतर है
- 21. क्या बीच का अंतर है :: और ::: स्काला
- 22. "। +" और "। +?" के बीच अंतर
- 23. $ {} और # {} के बीच अंतर क्या हैं?
- 24. PHP के बीच क्या अंतर है और इसमें शामिल है?
- 25. अपवाद के .TOString() और मैसेज के बीच क्या अंतर है?
- 26. 7zip के 7z.sfx और 7zsd.sfx के बीच क्या अंतर है?
- 27. डीएल के फाइलवर्सन और उत्पादवर्जन के बीच क्या अंतर है?
- 28. UIImageView के फ्रेम और सीमाओं के बीच क्या अंतर है?
- 29. फ़ायरबग के console.log() और console.debug() के बीच क्या अंतर है?
- 30. पैरामीटर परिभाषाओं के बीच अंतर (प्रकार और नाम), और (प्रकार * नाम) के बीच अंतर क्या हैं?
स्वचालित रूप से ऐपकॉन्टेक्स्ट/बीन फैक्ट्री सेट इवेंट को पकड़ना संभव है? कन्स्ट्रक्टर appContext/beanFactory में अभी तक सेट नहीं किया गया है ... – ksimon