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*