0 0

Spring中使用classpath*加载配置文件,jar包中的配置文件不加载问题25

Spring中使用classpath*加载配置文件,jar包中的配置文件不加载问题
在web.xml中有如下配置
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:applicationContext*.xml ,classpath*:/frame/applicationContext*.xml
        </param-value>
    </context-param>

目录结构是这样的

把classes文件下的所有文件打成jar包,部署到weblogic上的时候,发现顶层目录下的spring配置文件没有被加载,

各位大虾,有没有在不改变目录结构的基础上提个解决方案,谢谢!

问题补充:
vipbooks 写道
首先与Spring相关的配置文件必须要以"applicationContext-"开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
还有最好把你的所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。这样程序看起来不会很乱。
在web.xml中的配置如下:
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath*:**/applicationContext-*.xml</param-value>  
</context-param>


"**/"表示的是任意目录;
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
你自己可以根据需要修改。



我按照你给的建议测试了,还以一样的不行

描述一下,
在*-applicationContext-spring2.xml 引用 applicationContext.xml的配置的bean 结果还是提示
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring2' defined in URL [jar:file:/D:/2011-01/.metadata/.plugins/com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/spring/WEB-INF/lib/test.jar!/frame/applicationContext-spring2.xml]: Cannot resolve reference to bean 'spring' while setting bean property 'spring'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'spring' is defined
证明你给的方式还是不行的
2011年1月17日 16:12
  • 大小: 9.1 KB
  • 大小: 5.8 KB

3个答案 按时间排序 按投票排序

0 0

spring 配置文件不是必需以applicationContext开头的,applicationContext开头是它本身一种默认规则而已,你指明那些xml,就可以不使用它的规则。

资源文件都是放在resources下,还不是直接放入java code层,这样会清晰些

2014年2月24日 23:56
0 0

我说过了,要你把Spring的所有配置文件都放在同一个目录之下,你怎么还是这里放一个那里放一个啊?
如果按我的那个配置写,你应该把applicationContext.xml这个文件放到你的"frame"目录之下,并将“applicationContext.xml”的文件名修改为“applicationContext-spring1.xml”,这样才能正常加载!

最好你能把我前面说的话再看一下,根据你的需求去做修改,我现在做的项目就是这样配置的,没有任何问题。

希望有机会的话你去学习一些正则表达式方面的知识!

2011年1月29日 21:45
0 0

首先与Spring相关的配置文件必须要以"applicationContext-"开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
还有最好把你的所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。这样程序看起来不会很乱。
在web.xml中的配置如下:

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


"**/"表示的是任意目录;
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
你自己可以根据需要修改。

2011年1月19日 09:40

相关推荐

Global site tag (gtag.js) - Google Analytics