Spring MVC 如何将一个Spring应用程序上下文导入到另一个应用程序上下文中?

hrirmatl  于 2022-11-15  发布在  Spring
关注(0)|答案(2)|浏览(211)

我有两个Spring应用程序上下文,一个是我的应用程序的本地上下文,另一个来自Maven依赖项之一。
现在,我applicationContext.xml文件看起来像这样。

<import resource="classpath*:**/sample-applicationContext.xml" />

并且我在sample-applicationContext.xml文件中有<context:component-scan>,该文件用于扫描组件。
现在,当我做以下事情时..

ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
MyClass m=ctx.getBean(MyClass.class);

不幸的是,当我获得MyClass对象时,该对象被创建,但是,我看到MyClass中的依赖项没有被注入。
MyClass中自动连接的依赖关系是使用sample-applicationContext.xml文件中的<context:component-scan>扫描的Bean。
有没有办法在我的项目类中利用Maven依赖项中存在的多个应用程序上下文和其中的autowire bean?

4smxwvx5

4smxwvx51#

我不确定maven的依赖关系,但是您正在尝试使用spring来做一些类似于跨上下文的事情。http://blog.imaginea.com/cross-context-communication-between-web-applications/
EDIT:看来是有办法了,看看这个帖子:Loading spring application context files that are inside a jar in classpath

yqlxgs2m

yqlxgs2m2#

通过以下方式,您可以加载多个springapplicationContext文件。

ApplicationContext context = 
new ClassPathXmlApplicationContext(new String[] {"sample-applicationContext.xml",   "applicationContext.xml"});

如果您能在这里发布applicationContext.xml、sample-applicationContext.xml和MyClass代码段,那就更好了。

相关问题