ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的区别

一、对于ClassPathXmlApplicationContext():
    1、classpath: 前缀是不需要的, 默认就是指项目的classpath路径下面;
    2、如果要使用绝对路径,需要加上 file: 前缀表示这是绝对路径。
二、对于FileSystemXmlApplicationContext():
    1、没有盘符的是 项目工作路径, 即项目的根目录;
    2、有盘符表示的是 文件绝对路径;
public class HelloClient {

	protected static final Log log = LogFactory.getLog(HelloClient.class);

	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");
		
//		ApplicationContext factory=new ClassPathXmlApplicationContext("file:E:/test/src/appcontext.xml");
		
		// 用文件系统的路径

//		ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");
		
//		ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
		
//		ApplicationContext factory=new FileSystemXmlApplicationContext("file:E:/test/src/appcontext.xml");
		
		ApplicationContext factory=new FileSystemXmlApplicationContext("E:/test/src/appcontext.xml");

		IHelloWorld hw = (IHelloWorld) factory.getBean("helloworldbean");

		log.info(hw.getContent("luoshifei"));

	}

}

你可能感兴趣的:(区别)