Spring加載context的幾種方法

Spring中的context管理

Spring中IOC容器的初始化:web

ApplicationContext便是保存bean對象的容器,故容器自己的初始化,就是經過一系列的配置,將ApplicationContext進行初始化。數組

而配置ApplicationContext大方向上分爲了3中:tomcat

1、使用classpathoracle

2、使用本地文件系統中某個文件地址app

3、(SpringMVC)web應用中用servlet類或者Listener類來初始化IOC容器webapp

 

而具體下來能夠分爲12種方式:spa

1 ClassPathXmlApplicationContext

利用這個實現類來讀取classpath路徑下的xml文件xml

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");  對象

UserDao dao = (UserDao)context.getBean("userDao");get

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

首先使用ClassPathResource將xml讀取爲一個Resource,以後用XmlBeanFactory去加在並讀取該Resource

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

4 FileSystemResource

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

此時的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);
相關文章
相關標籤/搜索