spring之scope作用域

spring中,bean的作用域有五种类型:默认是单例模式,

        singleton

        prototype

        request

        session

        global session

配置作用域时,使用 scope属性,xml文件配置如下,

查看spring官方文档,解释如下:

      

 1、singleton

    如果一个bean配置为singelton,表示该bean在spring IOC容器中只有一个实例,也就是单例

   配置如下:下面两种配置是一样的,默认使用singleton

    

    可以新建spring工程进行测试:观察返回为true还是false

    

2、prototype

        prototype作用域部署的bean,每一次请求都会产生一个新的bean实例,相当与一个new的操作

        对于prototype新建的实例,spring容器不会执行他的生命周期回调方法,可以参考我写的spring之生命周期文档。

        spring官方文档中解释如下

3、request, session, and global session scopes这三种作用域主要用在web中,

    request:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效

    session:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效

    global session:表示该针对每一次HTTP请求都会产生一个新的bean,不过它仅仅在基于portlet的web应用中才有意义

    

原文地址:https://www.cnblogs.com/pjfmeng/p/7542275.html