2009-12-09 17 views
5

मैं वसंत संदर्भ.एक्सएमएल फाइलों को ऑन-द-फ्लाई लोड करने में सक्षम होना चाहता हूं, ताकि वे पहले लोड किए गए संदर्भों के साथ वायर्ड हो जाएं (अर्थात्, संदर्भ ए.एक्सएमएल में मैं संदर्भ बी.एक्सएमएल में परिभाषित एक बीन को रेफरी कर सकता हूं जो था पहले ही लोड हो चुका है)। मैं मौजूदा बीन्स को नष्ट नहीं करना चाहता हूं और तब जब भी एक संदर्भ जोड़ा जाता है तब बनाया जाता है।वसंत: एक्सएमएल संदर्भ पर एक्सएमएल संदर्भ जोड़ें?

उत्तर

4

यह करना आसान है, बीनफ़ैक्टरी और एप्लिकेशन कॉन्टेक्स्ट कार्यान्वयन में से अधिकांश में मूल संदर्भ की अवधारणा है।

BeanFactory newFactory = new XmlBeanFactory(xmlResource, yourParentBeanFactory); 

// if you what an ApplicationContext 

ApplicationContext newContext = new ClassPathXmlApplicationContext(new String[]{"newBeans.xml"}, parent); 

नए संदर्भ है कि यह के भीतर आत्म करने के लिए माता पिता के ऊपर से पारित कर दिया है और यह माता पिता है करने के लिए कर रहे हैं हल नहीं किया जा सकता है अंदर http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/beans/factory/xml/XmlBeanFactory.html

संदर्भ में देखते हैं।

नोट करें कि आप ApplicationContextAware लागू करके वर्तमान एप्लिकेशन संदर्भ प्राप्त कर सकते हैं।

+0

और माता-पिता का उपयोग किए बिना? – IttayD

+1

जिसमें स्पेस टाइम निरंतरता को बदलना और एक ही समय में स्ट्रीम को पार करना शामिल होगा। नया संदर्भ देना माता-पिता ऐसा करने का तरीका है, वास्तव में कोई अन्य विकल्प नहीं है। –

+0

दरअसल, आप केवल 'new classPathXmlAplicationContext (नया स्ट्रिंग [] {"newBeans.xml"} का उपयोग कर सकते हैं) '। फिर आपको एक नया वसंत संदर्भ मिलेगा जो मौजूदा संदर्भ से पूरी तरह से असंबंधित है। – sleske

संबंधित मुद्दे