spring加载资源文件中classpath*与classpath的区别

classpath和classpath*区别: 

classpath:只会到你的class路径中查找找文件。

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。

注意: 用classpath*:需要遍历所有的classpath,所以加载速度是很慢的;因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。


classpath*的使用:

当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径。


<!--这里使用的是classpath*:的形式-->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:mapper/**/spring-*.xml</param-value>
</context-param>


"**/"表示的是任意目录;"**/spring-*.xml"表示任意目录下的以"spring-"开头的XML文件。  





猜你喜欢

转载自blog.csdn.net/mzy755423868/article/details/80554651