Spring项目中得classpath到底指的是什么?

发出疑问的地方:

每次看到项目中各种配置的classpath,突然注意到别人之前都这样写,那我也这样写,现在突然不知道为什么要这样了?所以记录一下

出现场景:

  mapper-locations: classpath:/mybatis/mapper/*.xml
  config-location:  classpath:/mybatis/config/mybatis-config.xml
详细解释:

classpath就是class的path,也就是类文件(*.class)的路径

我们创建的项目结构大致如下:

project
	|--src
	|  |--main
	|  |	 |--java
	|  |	 |--resources
	|  |	 |--webapp
	|  |		 |--WEB-INF
	|  |			 |--views
	|  |			 |--web.xml
	|  |--test
	|  	 |--java
	|--pom.xml  	 

项目发布之后的结构:

project
	|--META-INF
	|--WEB-INF
	   |--classes
       |--lib
       |--views
       |--web.xml

分析:

  1. 开发时期项目(即第1点下的目录结构),src/main/下的java和resources这两个文件夹都被编译打包到了WEB-INF/classes/目录下,
  2. 而原来的存在于WEB-INF下的views和web.xml则仍然存在于WEB-INF下。
  3. 而由maven引入的依赖包均放到了WEB-INF/lib/下。
  4. 所有编译后生成的class文件和资源文件都存放在classes目录下

总结:

classpath指的就是项目编译打包后的WEB-INF目录下的classes

例子:

classpath*:**/mapper/mapping/*Mapper.xml

含义是:到WEB-INF/classes/目录下的任意层的目录寻找符合后面的文件路径,只要符合(无论多少个)都会被作为资源文件找到。

参考:【Java】classpath到底是指什么_java classpath含义-CSDN博客

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值