读书人

[转]Spring中ApplicationContext的获取

发布时间: 2012-10-13 11:38:17 作者: rapoo

[转]Spring中ApplicationContext的获取方式
Spring中ApplicationContext加载机制。
加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。
这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。

配置非常简单,在web.xml中增加:

<listener>  <listener-class>       org.springframework.web.context.ContextLoaderListener  </listener-class></listener>

或:
<servlet>    <servlet-name>context</servlet-name>    <servlet-class>       org.springframework.web.context.ContextLoaderServlet    </servlet-class>    <load-on-startup>1</load-on-startup></servlet>


通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化
ApplicationContext 实例,如果需要指定配置文件位置,可通过context-param加以指定:
<context-param>    <param-name>contextConfigLocation</param-name>    <param-value>/WEB-INF/myApplicationContext.xml</param-value></context-param>


配置完成之后,即可通过WebApplicationContextUtils.getWebApplicationContext 方法在Web应用中获取ApplicationContext引用。

如:
    ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();    LoginAction action=(LoginAction)ctx.getBean("action");

读书人网 >软件架构设计

热点推荐