classpath路径指什么
-
只知道把配置文件如:mybatis.xml、spring-web.xml等放到src目录(就是存放代码.java文件的目录),然后使用 “classpath:xxx.xml” 来读取,都放到src目录准没错,那么到底classpath到底指的什么位置呢?
-
src路径下的文件在编译后会放到WEB-INF/classes路径下。默认的classpath是在这里。直接放到WEB-INF下的话,是不在classpath下的。用ClassPathXmlApplicationContext当然获取不到。
如果单元测试的话,可以在启动或者运行的选项里指定classpath的路径的。 -
用maven构建项目时候resources目录就是默认的classpath,
classPath即为java文件编译之后的class文件的编译目录一般为WEB-INF/classes,src下的 xml 在编译时也会复制到classPath下
ApplicationContext ctx = new ClassPathXmlApplicationContext(“xxxx.xml”);
//读取classPath下的spring.xml配置文件
ApplicationContext ctx = new FileSystemXmlApplicationContext(“WebRoot/WEB-INF/xxxx.xml”);
//读取WEB-INF 下的spring.xml文件