0

我在jar1的applicationContext1中定义了bean1和bean2,并且在jar2的applicationContext2中定义了bean1(当然是不同的类)和bean3

我需要在我的 web 应用程序中同时使用 jar1 和 jar2,它也有一个 applicationContext3。

我在 web.xml 中使用以下条目

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>applicationContext1.xml
            <param-value>applicationContext2.xml
            <param-value>/WEB-INF/properties/application/applicationContext3.xml
    </param-value>
</context-param>

有没有办法给 applicationContext ID 加上前缀,这样它们就不会相互交叉;例如:在 applicationContext3 中我可以拥有

<bean id="myBean" >
  <property name="bean1" ref="ac1:bean1">
  <property name="bean2" ref="ac2:bean1">
</bean>

提前致谢

4

1 回答 1

0

也许你可以以某种方式安排它(Spring 非常灵活和强大),但我认为你应该清理一下你的上下文。如果您可以完全控制库和主应用程序,我建议您只创建一个主 applicationContext 并从 JAR 中复制相关的 bean。

其他好的解决方案是将上下文模块中的每个 applicationContext 分开,例如 repository-context.xml、business-context.xml 等,并仅引用您需要的那些,这样您就可以更好地控制正在加载的内容。

另外,看看这个: http ://www.gridshore.nl/2008/05/13/spring-application-context-loading-tricks/

于 2013-02-27T12:12:22.757 回答