spring通过类路径加载xml

参考:http://www.blogjava.net/wangkai40/archive/2009/08/28/292927.html

 

spring通过类路径加载xml的顺序
      ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("*applicationContext.xml");
参数由两部分构成。classpath和xml文件名。它们都可以支持通配符*.classpath部分可以写为classpath和classpath*,如果是classpath时,可以将它省略。


      如果文件名使用了通配符,比如/conf/**/applicationContext.xml.如果conf下和conf/sub/下都有一个applicationContext.xml,则它两个都会加载,并且如果bean定义有重复时,后加载的xml文件中定义的bean会覆盖前面的。


      如果classpath*与classpath的区别在于,classpath它首先从当前工程的class路径下找,如果找到了(会找出该路径下的所有匹配上的文件)则不再查找,没找到则再去其它类路径比如lib里去找,直到在某个lib里找到(并找出该lib下所有的xml)。classpath*会搜索整个classpath下的所有包的指定文件,这样即使同名的文件在不同的包中也都能被加载进来。

 

总结:
1.*表示零个或多个字符,**则可以表示当前包及其子包。
2.它加载是以classpath为单位的,就是说它会遍历某个classpah的所有文件。
3.查找顺序是先查找当前工程类路径,再找classpath指定的包。对于单个class,是按顶层至底层的顺序查找。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值