天天看點

FileSystemXmlApplicationContext和ClassPathXmlApplicationContext的差別

Spring中可以利用ClassPathXmlApplicationContext或者FileSystemXmlApplicationContex的容器,那麼他們的差別是什麼?

ClassPathXmlApplicationContext:

當使用ClassPathXmlApplicationContext時,後面的配置檔案路徑如下:

ApplicationContext context =
		new ClassPathXmlApplicationContext("applicationContext.xml");
	Boy boy1 = (Boy)context.getBean("boy");
	boy1.feed(" banana");
           

配置檔案路徑如下圖:

FileSystemXmlApplicationContext和ClassPathXmlApplicationContext的差別

程式正常運作,他的預設檔案路徑是src下那一級。

當使用FileSystemXmlApplicationContex時,如果用上面的配合,程式會報錯。

ApplicationContext context =
		new FileSystemXmlApplicationContext("applicationContext.xml");
	Boy boy1 = (Boy)context.getBean("boy");
	boy1.feed(" banana");
           

除非将xml移動到與src同級,如下圖:

FileSystemXmlApplicationContext和ClassPathXmlApplicationContext的差別

可正常運作。他的預設檔案路徑是項目名下一級,與src同級。