classpath路径浅谈

【01】 src路径下的文件在编译后会放到WEB-INF/clases路径下吧。默认的classpath是在这里。直接放到WEB-INF下的话,是不在classpath下的。用ClassPathXmlApplicationContext当然获取不到。 【02】 如果单元测试的话,可以在启动或者运行的选项里指定classpath的路径的。用maven构建项目时候resource目录就是默认的classpath

【03】 classPath即为java文件编译之后的class文件的编译目录一般为web-inf/classes,src下的xml在编译时也会复制到classPath下

  比如我们这里 web.xml 部分代码如下

1、 / 表示 web根目录

  1. <init-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>/springmvc.xml</param-value>
  4. </init-param>
/springmvc.xml 的 / 表示 web目录(或者webRoot,webApp) 我们的 springmvc.xml 只有放在如上图位置(web的根目录),服务器才不会报错,程序得以正常运行  

2、默认也是在 web根目录

  1. <init-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>springmvc.xml</param-value>
  4. </init-param>
我们这里不加 / 的效果和加 /是 一样的,springmvc.xml都是要放在 web的根目录,即和第一种相同  

3、classpath: 默认指向是 src 目录

  1. <init-param>
  2.        <param-name>contextConfigLocation</param-name>
  3.        <param-value>classpath:com/liuyanzhao/ssm/springmvc.xml</param-value>
  4. nit-param>
classpath 的一般指的是 src 目录,com.liuyanzhao.ssm是包名,写路径的时候是com/liuyanzhao/ssm/springmvc.xml 如果我们把springmvc.xml放到src根目录,只需要写 classpth:springmvc.xml 啦  

4、classpath: 也可以时其他 Source Folder

我们在项目里新建一个 Source Folder(注意,不是普通的文件夹),然后装个文件夹也加入了环境。
  1. <init-param>
  2.       <param-name>contextConfigLocation</param-name>
  3.       <param-value>classpath:spring/springmvc.xml</param-value>
  4.   </init-param>
    注意:在多个classpath中存在同名资源,都需要加载,            那么用classpath:只会加载第一个     本文链接:https://liuyanzhao.com/5910.html

发表评论

目前评论:2