关于FileSystemXmlApplicationContext和ClassPathXmlApplicationContext路径问题

在码代码的时候发现使用这两个方法写路径的时候总是存在问题,所以百度了一下解决了这个问题。

关于FileSystemXmlApplicationContext这个路径有2总写法

  1. 有盘符的代表的是绝对路径,如 D:/wokespace/spring/WebRoot/WEB-INF/classes/xxx.xml。
  2. 没有盘符的代表的项目的根路径。比如放在Webroot的WEB-INF下面,路径可以写成"/WebRoot/WEB-INF/xxx.xml"

如果想要在FileSystemXmlApplicationContext读取classpath下面的文件,可以写成/WebRoot/WEB-INF/classes/xxx.xml,也可以写成classpath:xxx.xml,classpath代表的路径就是:/WebRoot/WEB-INF/classes/。

关于ClassPathXmlApplicationContext这个路径默认的是读取workspace下面的classes文件夹下的文件,可以在前面加上classpath:当然不加也是没问题的。这个classes文件夹默认在myeclipse中是不显示的,如果想显示classes文件夹,可以右键WEB-INF ->show in->package explorer,然后在package explorer目录下继续选着WEB-INF文件夹,右键->show in ->navigator,新出来的目录中就显示classes文件夹了。当然也可以用绝对路径来表示:D:/wokespace/spring/WebRoot/WEB-INF/classes/xxx.xml。在偶然一次中发现也可以用file:WebRoot/WEB-INF/classes/xxx.xml也可以读取到相关的文件,但是去掉file:就报IO异常,具体什么情况不是很清楚,也是这节中的一个小疑问,等以后有时间了来解决。

posted @ 2017-01-12 10:25  不是一般的菜  阅读(5450)  评论(0编辑  收藏  举报