如何从Web应用程序中的依赖库中进行Spring上下文初始化?

时间:2014-03-26 23:42:59

标签: spring

我有一个使用Spring的Web应用程序。 Web应用程序的Bean定义和spring配置在 webapp-spring.xml 中声明。此Web应用程序使用库作为其依赖项。我们假设该库名为 data-access.jar 。该库位于Web应用程序的类路径中。 Web应用程序配置为通过常用的 web.xml 配置初始化spring上下文:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:webapp-spring.xml</param-value>
</context-param>

data-access.jar库还有自己的spring beans xml定义 data-access-spring.xml 嵌入其中(直接在根级别),以便内部使用Spring依赖注入

当启动容器(Tomcat)时发生Web应用程序上下文初始化时,我希望Spring使用 data-access-spring.xml 以及 web-app-spring初始化上下文.XML 即可。我该怎么做?

我尝试过以下哪些不起作用:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:web-app-spring.xml,classpath*:data-access-spring.xml</param-value>
</context-param>

Spring默默地忽略data-access-spring.xml,只从web-app-spring.xml初始化bean定义。

1 个答案:

答案 0 :(得分:1)

classpath*:基本上会忽略与模式不匹配的文件。但是你的语法是正确的。所以看起来没有找到data-access-spring.xml。你确定它是根源吗?

你也可以使用模式,顺便说一句,例如classpath*:*-spring.xml,但这不应该对你有所帮助。 classpath*:web-app-spring.xml,classpath*:**/data-access-spring.xml如果它不在根,可能会{。}}。