spring RequestContextListener

spring IOC容器实例化Bean的方式有:
1.singleton--》在spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在。

2.prototype--》每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()的操作。

3.request--》每次HTTP请求都会创建一个新的Bean,该作用域仅适用于webApplicationContext环境。

4.session--》同一个HTTP session共享一个Bean,不同HTTP session使用不同的Bean,该作用域仅适用于webApplicationContext环境。

5.globalSession--》同一个全局session共享一个Bean,一般用于portlet应用环境,该作用域仅适用于webApplicationContext环境。

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

通过ContextLoaderListener(或ContextLoaderServlet)将Web容器与Spring容器整合,ContextLoaderListener实现ServletContextListener监听器接口,ServletContextListener只负责监听Web容器的启动和关闭的事件。

RequestContextListener支持Bean的另外3个作用域(request、session、globalSession),RequestContextListener实现ServletRequestListener监听器接口,该监听器监听HTTP请求事件,Web服务器接收的每次请求都会通知该监听器,通过配置RequestContextFilter,Spring容器与Web容器结合的更加密切。

猜你喜欢

转载自maidong660.iteye.com/blog/2363579