classpath: 和classpath*:的区别
classpath本质是jvm的根路径,jvm获取资源都是从该根路径下找的,注意这个根路径是个逻辑路径,并不是磁盘路径。比如两个jar包的路径是/a/a.jar和/b/b.jar,但是用classpath*:就可以找到这两个jar包中的资源。
一般classpath指向的是classes,也就是编译路径的根路径,而一般classes中放着这些文件:
1.java文件编译好的class文件。
2.properties配置文件。
3.xml配置文件。
4.一些模版文件,如*.ftl。
5.其他需要用classpath获取到的文件。
搞懂了classpath指向的classes里放的东西,我们再来看看classpath: 和classpath*:的区别。
1.classpath:只会到你的classes路径中查找找文件。
2.classpath*:不仅会到classes路径,还包括jar文件中(classes路径)进行查找。
参考:
- Spring加载resource时classpath*:与classpath:的区别 http://blog.163.com/ygplpr@126/blog/static/389691162012116102750608/
- JAVA读取外部资源的方法 http://blog.csdn.net/kkdelta/article/details/5560210