我希望能够即时加载spring context.xml文件,以便它们与先前加载的上下文连接(意思是,在contextA.xml中我可以引用contextB.xml中定义的bean)已经装好了)。我希望不会销毁现有的bean,然后在添加上下文时创建。
答案 0 :(得分:4)
这很容易做到,大多数BeanFactory和ApplicationContext实现都具有父上下文的概念。
BeanFactory newFactory = new XmlBeanFactory(xmlResource, yourParentBeanFactory);
// if you what an ApplicationContext
ApplicationContext newContext = new ClassPathXmlApplicationContext( new String[]{"newBeans.xml"}, parent);
在新的上下文中无法在其自身内部解析的引用将父项传递给它的父项。
请注意,您可以通过实施ApplicationContextAware
来掌握当前的应用程序上下文。