SSH讀取applicationContext.xml配置文件測試hibernate方法

如果你的applicationContext.xml文件是放在WEB-INF下:

使用ClassPathXmlApplicationContext類!

ApplicationContext context = new ClassPathXmlApplicationContext("/WEB-INF/applicationContext.xml");

ClassPathXmlApplicationContext這個類他最終會在WEB-INF/classes/目錄下尋找,你項目最終部署後src下的東西都會部署在WEB-INF/classes/目錄下,所以木找到!

使用ClassPathXmlApplicationContext這樣讀取:則出現以下異常,找不到指定文件神馬的!

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [E:\mycodes\shop2\WEB-INF\applicationContext.xml]; nested exception is java.io.FileNotFoundException: WEB-INF\applicationContext.xml (系統找不到指定的路徑。)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
	at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
	at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
	at gzqh.wh.test.TestProduct.main(TestProduct.java:18)
Caused by: java.io.FileNotFoundException: WEB-INF\applicationContext.xml (系統找不到指定的路徑。)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:108)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
	... 13 more



沒辦法,就是讀不到,你寫絕得路徑都沒用!

好吧,讀取文件所在的絕對路徑吧,使用FileSystemXmlApplicationContext類!

 ApplicationContext context=new FileSystemXmlApplicationContext("E:\\mycodes\\shop2\\WebRoot\\WEB-INF\\applicationContext.xml");

-----------------------------------------------------------------------------------------------------

	public static void main(String[] args) {
		
	 ApplicationContext context=new FileSystemXmlApplicationContext("E:\\mycodes\\shop2\\WebRoot\\WEB-INF\\applicationContext.xml");
	 
	 ProductDAO dao =(ProductDAO) context.getBean("ProductDAO");
	 
	 List<Product> list =dao.findAll();
		
		for (Product product : list) {
			
			System.out.println(product);
			
			System.out.println(product.getCode());
 			
		}

	}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章