1. 程式人生 > >Spring載入applicationContext.xml的幾種方式

Spring載入applicationContext.xml的幾種方式

1、利用ClassPathXmlApplicationContext可以從CLASSPATH中讀取xml檔案(最常見的使用方式)

  1. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");   
  2. UserDao dao = (UserDao)context.getBean("userDao");  

下面就可以使用介面的物件呼叫相應的方法了,這裡需要注意一點的是我們可以使用萬用字元來讀取多個xml檔案

new ClassPathXmlApplicationContext("applicationContext-*")

2、下面這種方式很少有人使用了(將多個配置檔案使用String陣列的形式表示)

  1. ClassPathXmlApplicationContext resource = new ClassPathXmlApplicationContext(new String[]{"applicationContext-ibatis-oracle.xml","applicationContext.xml","applicationContext-data-oracle.xml"}); BeanFactory factory = resource; UserDao userDao = (UserDao) factory.getBean(
    "userDao");   

3、利用ClassPathResource讀取配置檔案

  1. Resource cr = new ClassPathResource("applicationContext.xml");   
  2. BeanFactory bf=new XmlBeanFactory(cr);   
  3. UserDao userDao = (UserDao)bf.getBean("userDao");   

4、利用FileSystemResource讀取

  1. Resource rs = new FileSystemResource("D:/tomcat/webapps/wiscom/  
  2. WEB-INF/classes/applicationContext.xml");   
  3. BeanFactory factory = new XmlBeanFactory(rs);   
  4. UserDao userDao = (UserDao )factory.getBean("userDao");   

使用FileSystemResource讀取xml檔案需要注意的是:配置檔案必須放在project直接目錄下,或是寫明絕對路徑,否則就會丟擲找不到檔案的異常.

5、利用FileSystemXmlApplicationContext讀取

  1. String[] path={"WebRoot/WEB-INF/applicationContext.xml",  
  2. "WebRoot/WEB-INF/applicationContext_task.xml"};   
  3. ApplicationContext context = new FileSystemXmlApplicationContext(path);   

上面這幾種是在專案中可能用到的幾種載入方式,其他的方式就暫時也不去理會啦~~