classpath:和classpath*:的区别
classpath:
在spring配置文件里,可以用 classpath: 来从classpath中加载资源
比如在 src/main/resources 下有一个jdbc.properties的文件,可以用如下方法加载:
1 | <property name="locations"> |
classpath*:
1 | <property name="mappingLocations"> |
classpath: 与 classpath*: 的区别在于,前者只会从当前classpath中加载,而后者会从所有的classpath中加载
classpath*:优点
在多个classpath中存在同名资源,都需要加载,那么就不能使用classpath:,而是使用classpath*:
classpath*:缺点
可想而知,用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*