原文地址
一、简单的用 ApplicationContext 做测试的话 , 获得 Spring 中定义的 Bean 实例 (对象) 可以用:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
如果是两个以上 , 可以使用字符串数组 :
ApplicationContext context = new ClassPathXmlApplicationContext(new String\[\]{"applicationContext.xml","SpringTest.xml"});
或者可以使用通配符:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/\*.xml");
对于 ClassPathXmlApplicationContext 的使用:
classpath:
前缀是可加可不加的 , 默认就是指项目的 classpath 路径下面。- 如果要使用绝对路径 , 需要加上
file:
, 前缀表示这是绝对路径。
对于 FileSystemXmlApplicationContext 的使用:
- 没有盘符的是项目工作路径 , 即项目的根目录。
- 有盘符表示的是文件绝对路径 ,
file:
可加可不加。 - 如果要使用 classpath 路径 , 需要前缀
classpath:
。
public class SpringTest {
public static void main(String\[\] args) {
// 用classpath路径
// ApplicationContext context = new ClassPathXmlApplicationContext("classpath:appcontext.xml");
// ApplicationContext context = new ClassPathXmlApplicationContext("appcontext.xml");
// ClassPathXmlApplicationContext使用了file前缀是可以使用绝对路径的
// ApplicationContext context = new ClassPathXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");
// 用文件系统的路径,默认指项目的根路径
// ApplicationContext context = new FileSystemXmlApplicationContext("src/appcontext.xml");
// ApplicationContext context = new FileSystemXmlApplicationContext("webRoot/WEB-INF/appcontext.xml");
// 使用了classpath:前缀,这样,FileSystemXmlApplicationContext也能够读取classpath下的相对路径
// ApplicationContext context = new FileSystemXmlApplicationContext("classpath:appcontext.xml");
// ApplicationContext context = new FileSystemXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");
// 不加file前缀
ApplicationContext context = new FileSystemXmlApplicationContext("F:/workspace/example/src/appcontext.xml");
}
}