ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的区别

classpath: 前缀是不需要的, 默认就是指项目的classpath路径下面;
如果要使用绝对路径,需要加上 file: 前缀表示这是绝对路径;

对于FileSystemXmlApplicationContext:
默认表示的是两种:
1,没有盘符的是 项目工作路径, 即项目的根目录;
2,有盘符表示的是 文件绝对路径。
如果要使用classpath路径, 需要前缀 classpath: .

public class Test {
	public static void main(String[] args) {
		// Resource resource = new ClassPathResource("appcontext.xml");
		// BeanFactory factory = new XmlBeanFactory(resource);

		// 用classpath路径也可以
		// ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml");
		// ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");

		// ClassPathXmlApplicationContext 使用了file前缀也是可以使用绝对路径的
		// ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/1Java实用项目资源/2Spring/1精通Spring全 Jar代码/workspace/workspace/example6/src/appcontext.xml");

		// 用文件系统的路径 默认是指项目的根路径
		// ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");

		// 使用了 classpath: 前缀,作为标志, 这样,FileSystemXmlApplicationContext
		// 也能够读入classpath下的相对路径
		// ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
		// ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/1Java实用项目资源/2Spring/1精通Spring全 Jar代码/workspace/workspace/example6/src/appcontext.xml");

		// 也可以不加file前缀
		ApplicationContext factory = new FileSystemXmlApplicationContext(
				"G:/1Java实用项目资源/2Spring/1精通Spring全Jar代码 /workspace/workspace/example6/src/appcontext.xml");
		IHelloWorld hw = (IHelloWorld) factory.getBean("helloworldbean");

	}
}



你可能感兴趣的:(spring,xml,工作)