.xml 中 classpath*: 和 classpath: 的理解

本文深入解析了ClassPath的概念,包括其在WEB-INF/classes目录中的作用,以及如何通过ClassPath加载不同类型的资源文件,如配置文件、模板文件和编译后的.class文件。同时,文章探讨了ClassPath与LIB目录下文件的访问优先级问题,以及classpath*与classpath在资源加载上的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://blog.youkuaiyun.com/qq_30038111/article/details/82116559
https://www.cnblogs.com/caidongzhou/p/8930571.html
https://blog.youkuaiyun.com/lichenju33/article/details/56017470

首先 classpath是指 WEB-INF文件夹下的classes目录,这个classes是服务器运行时产生的。

解释classes含义:
1.存放各种资源配置文件 *.properties *.xml
2.存放模板文件 eg.actionerror.ftl
3.存放class文件 对应的是项目开发时的src目录.java文件的编译文件
总结:这是一个定位资源的入口

这个涉及的是lib和classes下文件访问优先级的问题: lib>classes
如配置后:classpath*: 先从lib中找

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

classpath*: 是为了从多个jar文件中加载相同的文件.
classpath: 只能加载找到的第一个文件.**
建议不要使用classpath:统一用classpath*:

maven 父工程可以抽取一些公用的配置文件,而我们子工程只需要配置少量自己单独的配置 两个文件只要在相应的classpath 对应的路径下即可,即使名字不一样也可以用

classpath: 表示从类路径中加载资源,classpath:和classpath:/是等价的,都是相对于类的根路径。资源文件库标准的在文件系统中,也可以在JAR或ZIP的类包中。
classpath*: 假设多个JAR包或文件系统类路径都有一个相同的配置文件,classpath:只会在第一个加载的类路径下查找,而classpath*:会扫描所有这些JAR包及类路径下出现的同名文件

aaaa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值