轉ApplicationContext的三種實現方式以及在web.xml配置的兩種方式

ApplicationContext 是 BeanFactory 接口的子接口,它加強了 BeanFactory 的功能,處於 context 包下。不少時候, ApplicationContext 容許以聲明式方式操做容器,無須手動建立。可利用如 ContextLoader 的支持類,在 Web 應用啓動時自動建立 ApplicationContext。固然,也能夠採用編程方式建立 ApplicationContext。web

ApplicationContext包括BeanFactory的所有功能,所以建議優先使用ApplicationContext。除非對於某些內存很是關鍵的應用,才考慮使用 BeanFactory。spring

spring爲ApplicationContext提供的3種實現分別爲:編程

一、  ClassPathXmlApplicationContext:利用類路徑的XML文件來載入Bean定義的信息app

[1]  ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");spa

[2]  String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};xml

ApplicationContext ctx = new ClassPathXmlApplication(locations);接口

二、 FileSystemXmlApplicationContext:利用文件系統中的XMl文件來載入Bean內存

定義的信息get

[1]  ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加載單個配置文件servlet

[2]  String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};

 ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );

//加載多個配置文件

[3]  ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");

//根據具體路徑加載

三、 XmlWebApplicationContext:從Web系統中的XML文件來載入Bean定義的信息。

 ServletContext servletContext = request.getSession().getServletContext();    

 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

 

 

配置WebApplicationContext的兩種方法:

(1)        利用Listener接口來實現

<listener>

       <listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

<context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:applicationContext</param-value>

</context-param>

(2)        利用Servlet接口來實現

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext</param-value>

</context-param>

<Servlet>

       <servlet-name>context</servlet-name>

       <servlet-class>

           org.springframework.web.context.ContextLoaderServlet

       </servlet-class>

</servlet>

相關文章
相關標籤/搜索