是否可以将一个Spring上下文添加到另一个?

时间:2015-08-02 15:02:16

标签: java spring

我有两种情况:

ApplicationContext context1 = ...
ApplicationContext context2 = ...

我想将context2添加到context1。可能吗?我的意思是以编程方式做到这一点。

1 个答案:

答案 0 :(得分:0)

不知道你为什么要这样做:

ApplicationContext context1 = ...
ApplicationContext context2 = ...

以上选项将创建两个独立的弹簧IoC容器。正如@Konrad所说,你不能以这种方式合并。

如果你有很多弹簧上下文文件,那么你可以:

    String[] contextFiles = {"/firstContextFile.xml",
                             "/secondContextFile.xml",
                             "/thirdContextFile.xml"};
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext(contextFiles);

或者

您可以在firstContextFile.xml中添加另一个弹簧资源:

<import resource="classpath:secondContextFile.xml" />
<import resource="classpath:thirdContextFile.xml" />

然后用这个加载spring上下文:

    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/firstContextFile.xml");