classpath解读

来源:互联网 发布:天池大数据竞赛 新手 编辑:程序博客网 时间:2024/05/22 12:23

classpath:

classpath是指WEB-INF文件夹下的classes目录。
首先,解释classes的含义: 定位资源的入口
作用:
1,存放编译后的得到的class文件,对应的是项目Src目录的编译后的文件
2,存放模板文件 eg,action,error,ftl
3,存放各种资源配置文件 eg, init , properties , log4j.properties struts.xml 等等

classpath 和 classpath*的区别

classpath: 只会在你的class路径中去查找文件。
classpath*:不仅会在你的class路径中去找,还爆过jar文件中的class路径去中找。
比如:
classpath:applicationContext-*.xml
classpath:context/conf/controller.xml
classpath*:context/conf/controller*.xml

“**/” 表示的是任意目录;
*/applicationContext-.xml” 表示任意目录下的以”applicationContext-“开头的XML文件。
程序部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 WEB-INF/classes目录下
classpath:与classpath*:的区别在于,

前者只会从第一个classpath中加载,而
后者会从所有的classpath中加载

如果要加载的资源,
不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的,
这种情况下就需要使用classpath*:前缀

在多个classpath中存在同名资源,都需要加载,
那么用classpath:只会加载第一个,这种情况下也需要用classpath*:前缀

注意:
用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。
本文参考:http://perfy315.iteye.com/blog/2009258

0 0
原创粉丝点击