zoukankan      html  css  js  c++  java
  • SpringBean作用域

    1、Bean作用域

    spring中为bean定义了5种作用域,分别为singleton(单例)、prototype(原型)、requestsessionglobal session。默认情况下为singleton`(单例)模式

    • singleton:单例模式:IOC容器中只会存在一个bean实例,无论多少bean引用它,始终指向相同的对象
    • prototype:原型模式:IOC容器可以同时存在多个实例,当程序去获取bean时可创建出一个新的实例
    • request:在一次Http请求中,容器会返回该Bean的同一实例。而对不同的Http请求则会产生新的Bean,而且该bean仅在当前Http Request内有效。
    • session:在一次Http Session中,容器会返回该Bean的同一实例。而对不同的Session请求则会创建新的实例,该bean实例仅在当前Session内有效。
    • global Session:在一个全局的Http Session中,容器会返回该Bean的同一个实例,仅在使用portlet context时有效。

    2、测试

    由于时初学spring,这里只做单利模式和原型模式的测试

    1、singleton单例模式

    配置

    <bean id="user" class="priv.wfq.spring.model.User" scope="singleton"></bean>  
    

    结果
    两次获取User对象的实例,得到的是同一个实例

    2、prototype原型模式

    配置

    <bean id="user" class="priv.wfq.spring.model.User" scope="prototype"></bean>  
    

    结果
    两次获取User对象的实例,得到的是不同实例,说明IOC容器新创建了一个User实例。

  • 相关阅读:
    latex之插入伪代码 [转]
    BIBTeX制作参考文献 [转]
    latex 页眉设置 [转]
    python : list tuple set dictionary [转]
    ctags使用简介 [转]
    conda在指定目录下创建虚拟环境
    Ubuntu系统安装Anaconda3
    ModuleNotFoundError: No module named 'google' 问题解决方案
    PyCharm无法输入中文
    checkpoint文件
  • 原文地址:https://www.cnblogs.com/hamawep789/p/10778364.html
Copyright © 2011-2022 走看看