您的位置:首页 > 编程语言 > Java开发

16、Spring中Bean的作用域

2015-06-04 17:46 543 查看
1、单例模式(singleton)

在整个IOC容器中,用singleton定义的Bean只有一个实例。

2、原型模式(prototype)

每次通过容器的getBean()获取Bean,都将产生一个新的Bean。

3、request

每次HTTP请求,使用request定义的Bean都产生一个新实例。只有在web应用使用Spring时,该作用域才生效。

4、session

对于每次HTTP session,使用session定义的Bean都将产生一个新实例。只有在web应用使用Spring时,该作用域才生效。

5、global session

每个全局的HTTP session对应一个Bean实例。只有在web应用使用Spring时,该作用域才生效。

总结:对于不使用SpringMVC来说,要使用request和session作用于的话,相应要引入监听器和过滤器。

request:<listener>

<listener-class>

    org.framework.web.context.request.RequestContextListener

</listener-class>

     </listener>

session:  <filter>

        <filter-name>requestContextFilter</filter-name>
        <filter-class>

org.springframework.web.filter.RequestContextFilter

</filter-class>

</filter>
<filter-mapping>
      <filter-name>requestContextFilter</filter-name>
      <url-pattern>/*</url-pattern>
</filter-mapping>

对于使用SpringMVC的应用,即使用SpringDispatcherServelet或者DispatcherPortlet来拦截用户请求,就不需要配置,因为SpringDispatcherServelet和DispatcherPortlet已经处理了所有和请求有关的状态处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring