我有一个使用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定义。
答案 0 :(得分:1)
classpath*:
基本上会忽略与模式不匹配的文件。但是你的语法是正确的。所以看起来没有找到data-access-spring.xml
。你确定它是根源吗?
你也可以使用模式,顺便说一句,例如classpath*:*-spring.xml
,但这不应该对你有所帮助。 classpath*:web-app-spring.xml,classpath*:**/data-access-spring.xml
如果它不在根,可能会{。}}。