Java類中加載Spring中的ApplicationContext.xml文件的方式

Xml代碼  收藏代碼
  1. <1>、利用ClassPathXmlApplicationContext,可以從classpath中讀取XML文件  
  2. //讀取一個文件  
  3.  1. ApplicationContext contextnew ClassPathXmlApplicationContext("applicationContext.xml");   
  4. UserDAO userDAO= (UserDAO )context.getBean("userDAO");   
  5. //讀取多個文件  
  6.  2.ClassPathXmlApplicationContext resourcenew ClassPathXmlApplicationContext(new String[]  
  7. {"applicationContextconfig.xml","applicationContext.xml","applicationContext-data.xml"});   
  8. BeanFactory factoryresource;  
  9. UserDAO userDAO= (UserDAO ) factory.getBean("userDAO ");  
  10.  
  11. <2>、利用ClassPathResource,可以從classpath中讀取XML文件  
  12. Resource resourcenew ClassPathResource("applicationContext.xml");   
  13. BeanFactory bf=new XmlBeanFactory(resource );   
  14. UserDAO userDAO= (UserDAO )bf.getBean("userDAO ");   

  15. <3>、利用XmlWebApplicationContext讀取  
  16. XmlWebApplicationContext xmlctx = new XmlWebApplicationContext();   
  17. xmlctx.setConfigLocations(new String[] {"/WEB-INF/ applicationContext.xml");   
  18. xmlctx.setServletContext(pageContext.getServletContext());   
  19. xmlctx.refresh();  
  20.  UserDAO userDAO= (UserDAO ) xmlctx.getBean("userDAO ");   

  21. <4>、利用FileSystemResource讀取  
  22.  Resource resourcenew FileSystemResource("E:/Java/spring/WebRoot/WEB-INF/classes/ applicationContext.xml");   
  23. BeanFactory factorynew XmlBeanFactory(resource );  
  24.  UserDAO userDAO= (UserDAO )factory.getBean("userDAO ");   
  25.    注意:利用FileSystemResource,則配置文件必須放在project直接目錄下,或者寫明絕對路徑,否則就會拋出找不到文件的異常  

  26. <5>、利用FileSystemXmlApplicationContext讀取,可以指定XML定義文件的相對路徑或者絕對路徑來讀取定義文件。  
  27. 1.String[] path={"WebRoot/WEB-INF/applicationContext.xml","WebRoot/WEB-INF/applicationContext_config.xml"};   
  28. ApplicationContext context = new FileSystemXmlApplicationContext(path);  
  29. 2. String path="WebRoot/WEB-INF/applicationContext*.xml";   
  30. ApplicationContext context = new FileSystemXmlApplicationContext(path);   
  31. 3.ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:地址"); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章