spring bean 的scope有5种:
Singleton:当一个bean的作用域为singleton, 那么Spring IoC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。
换言之,当把一个bean定义设置为singlton作用域时,Spring IoC容器只会创建该bean定义的唯一实例。这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例
Prototype:Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。根据经验,对有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域。
下图演示了Spring的prototype作用域。请注意,通常情况下,DAO不会被配置成prototype,因为DAO通常不会持有任何会话状态,因此应该使用singleton作用域。
request : 针对每次HTTP请求,Spring容器会根据loginAction bean定义创建一个全新的LoginAction bean实例, 且该loginAction bean实例仅在当前HTTP request内有效,因此可以根据需要放心的更改所建实例的内部状态, 而其他请求中根据loginAction bean定义创建的实例,将不会看到这些特定于某个请求的状态变化。 当处理请求结束,request作用域的bean实例将被销毁。
session:针对某个HTTP Session,Spring容器会根据userPreferences bean定义创建一个全新的userPreferences bean实例, 且该userPreferences bean仅在当前HTTP Session内有效。 与request作用域一样,你可以根据需要放心的更改所创建实例的内部状态,而别的HTTP Session中根据userPreferences创建的实例, 将不会看到这些特定于某个HTTP Session的状态变化。 当HTTP Session最终被废弃的时候,在该HTTP Session作用域内的bean也会被废弃掉。
global session:global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。
请注意,假如你在编写一个标准的基于Servlet的web应用,并且定义了一个或多个具有global session作用域的bean,系统会使用标准的HTTP Session作用域,并且不会引起任何错误。

转载于:https://www.cnblogs.com/SunshineLittleCat/p/8280019.html

bean的scope相关推荐

  1. 《Spring》(六)---- Bean的scope

    Bean的scope 配置中的bean定义可以看作是一个模板,容器会根据这个模板来构造对象,但是要根据这个模板构造多少个对象,又该让这些构造完的对象实例存活多久,则由容器的scope定义.scope用 ...

  2. Bean的scope属性

    1.singleton(默认值):单列对象,被标识为单例的对象在spring容器中只会存在一个实例 测试如下: 我们创建一个User类: public class User {private Stri ...

  3. spring中bean属性scope

    spring中bean属性scope singleton:SpringIoc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例 Property: 每次请求都创建一个实例 reques ...

  4. 【Spring源码三千问】Bean的Scope有哪些?scope=request是什么原理?

    Bean的Scope有哪些?scope=request是什么原理? 前言 版本约定 正文 Scope 接口的类图 RequestScope 在哪里注册的? Scope 在哪里生效的? scope=re ...

  5. Spring揭秘 读书笔记 三 bean的scope与FactoryBean

    本书可作为王富强所著<<Spring揭秘>>一书的读书笔记  第四章 BeanFactory的xml之旅 bean的scope scope有时被翻译为"作用域&quo ...

  6. Spring框架——Bean的Scope(作用域)易错陷阱解析

    Spring框架--Bean的Scope(作用域)易错陷阱解析 阅读先修: 阅读本篇博文之前,您必须熟悉基本的有关Spring框架核心的IOC容器相关知识,以及基本的Bean配置方式.如若对该部分知识 ...

  7. Spring中bean的scope详解

    如何使用spring的作用域: <bean id="role" class="spring.chapter2.maryGame.Role" scope=& ...

  8. spring bean中scope=prototype“的作用

    今天写代码时,遇到个问题,问题大概如下:在写一个新增模块,当各文本框等输入值后,提交存入数据库,跳到其它页面,当再次进入该新增页面时,上次输入的数据还存在. 经过检查发现是,spring配置文件中,配 ...

  9. spring bean属性scope

    ‍‍<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton ...

最新文章

  1. 测试开发面试集锦-测试方面(搬运)
  2. Hadoop系列四:Hadoop之Hive篇
  3. 蹬N级阶梯有几种走法
  4. 数据库面试题【六、Sql的优化】
  5. MONGODB 数据库文件读取的优化
  6. java hasset 顺序_java集合排序问题
  7. python3.5学习笔记:linux6.4 安装python3 pip setuptools
  8. hashmap是有序还是无序_说实话,你要是看完这篇 HashMap ,和面试官扯皮真的就没问题了!
  9. 利用开放定址法实现散列表的创建、插入、删除、查找操作_快速入门数据结构:散列表(上)...
  10. AFNetworking实现程序重新启动时的断点续传
  11. Base64编码流程
  12. 测试用rtmp直播源
  13. 如何给三线表格(图片)添加标题?
  14. TWEN-ASR ONE 语音识别系列教程(2)--- GPIO、ADC、PWM的使用
  15. android 显示和风天气字体图标
  16. 手机号 mysql 索引_mysql索引以及优化
  17. UTC和东八区时间转换(python)
  18. 《生活,是很好玩的》读书日记
  19. 第3周学习:ResNet+ResNeXt
  20. 推荐--jQuery使用手册 1

热门文章

  1. 关于微软研究院(谢幸、郑宇研究员主导的)“智能城市”“智能生活”研究的一个归纳...
  2. 未来编程语言的发展方向(1)
  3. 发现自己竟然有点恐高,郁闷
  4. Hadoop高速入门
  5. 表中记录查询排序(设置排序规则)
  6. JavaScript强化教程 -- cocosjs场景切换
  7. java基础 关于转换流
  8. Spring的依赖注入和管理Bean
  9. 云接口给中小企业带来的帮助
  10. 修改boot.ini