spring加载resource时classpath*:与classpath:的区别

对于spring加载resource时classpath*和classpath的区别,一直没有研究,今天在此总结一下:

Spring可以通过指定classpath*:或classpath:前缀加路径的方式从classpath下加载文件。
1)classpath*:可以从多个jar文件中加载相同的文件。
2)classpath:只能加载找到的第一个文件。
或者换句话说: classpath只会加载第一个有文件的classpath,classpath*会从所有的classpath下加载。


一般加载的优先级:当前classes > jar包中的classes。


如果项目中使用通配符加载资源文件,此时classpath*:就可以派上用场了,如果不加*,只会加载第一个找到的classpath下的文件。例子如下:
<param-value>classpath*:spring/spring-*.xml</param-value>


注意:
用classpath*:需要遍历所有的classpath,所以加载速度比较慢,个人喜欢使用classpath:,但前提是规划好资源文件的路径,尽量避免重名,导致资源文件加载不到的问题。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值