先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删

XML位于resources下时的访问方式

ClassPathXmlApplicationContext()中路径指向的是工程下面的resources目录:

对于保存在resources文件下的 *.xml 文件可以使用三种方式访问:

1、直接使用文件名访问;

2、使用classpath (前缀方法)

3、使用绝对路径(绝对路径前需加 file: )

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删

第一种方法:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删

第三种方法(第二种和前面的没区别)

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删


而使用FileSystemXmlApplicationContext()只能使用绝对路径去访问;

如图:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删


对于xml文件不在resources下时

两个方法访问形式如下:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删

ClassPathXmlApplicationContext()只能使用绝对路径访问:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删


FileSystemXmlApplicationContext()可以使用绝对路径:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删

也可以使用相对路径:

先码后看 Spring中ClassPathXmlApplicationContext与FileSystemXmlApplicationContext 侵立删


注意一点:有时后台虽然不是报路径错误,如:后台报无法找到某个Bean,有时也是因读取xml的方式不对导致的。