展示型网站方案,网站建设及编辑岗位职责,品牌建设实施纲要,网络构建是什么概念解释及使用场景#xff1a;classpath是指WEB-INF文件夹下的classes目录。通常我们一般使用这种写法实在web.xml中#xff0c;比如spring加载bean的上下文时#xff0c;如下#xff1a;contextConfigLocationclasspath*:/spring-context-*.xmlorg.springframework.web.c…概念解释及使用场景classpath是指WEB-INF文件夹下的classes目录。通常我们一般使用这种写法实在web.xml中比如spring加载bean的上下文时如下contextConfigLocationclasspath*:/spring-context-*.xmlorg.springframework.web.context.ContextLoaderListener经过如上的写法可能会认为这个就是web.xml固有的写法其实不是这种写法是spring的写法与web.xml无关。可以通过spring的方法使用这种方式进行路径的读取。classpath和classpath*区别classpath只会到你的class路径中查找找文件。classpath*不仅包含class路径还包括jar文件中(class路径)进行查找。注意 用classpath*:需要遍历所有的classpath所以加载速度是很慢的因此在规划的时候应该尽可能规划好资源文件所在的路径尽量避免使用classpath*。classpath*的使用当项目中有多个classpath路径并同时加载多个classpath路径下(此种情况多数不会遇到)的文件*就发挥了作用如果不加*则表示仅仅加载第一个classpath路径。一些使用技巧1、从上面使用的场景看可以在路径上使用通配符*进行模糊查找。比如classpath:applicationContext-*.xml2、**/表示的是任意目录**/applicationContext-*.xml表示任意目录下的以applicationContext-开头的XML文件。3、程序部署到tomcat后src目录下的配置文件会和class文件一样自动copy到应用的WEB-INF/classes目录下classpath:与classpath*:的区别在于前者只会从第一个classpath中加载而 后者会从所有的classpath中加载。4、如果要加载的资源不在当前ClassLoader的路径里那么用classpath:前缀是找不到的这种情况下就需要使用classpath*:前缀。5、在多个classpath中存在同名资源都需要加载时那么用classpath:只会加载第一个这种情况下也需要用classpath*:前缀。