当前位置: 首页 > news >正文

学习记录691@spring面试之bean的作用域

Spring为Bean定义了5种作用域,分别为Singleton(单例)、Prototype(原型)、Request(请求级别)、Session(会话级别)和Global Session(全局会话)。

Singleton

Singleton是单例模式,当实例类型为单例模式时,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,都始终指向同一个Bean对象。该模式在多线程下是不安全的。Singleton作用域是Spring中的默认作用域。

Prototype

Prototype是原型模式,每次通过Spring容器获取Prototype定义的Bean时,容器都将创建一个新的Bean实例,每个Bean实例都有自己的属性和状态,而Singleton全局只有一个对象。因此,对有状态的Bean经常使用Prototype作用域,而对无状态的Bean则使用Singleton作用域。

以上的状态指的是属性

Request

Request指在一次HTTP请求中容器会返回该Bean的同一个实例,而对不同的HTTP请求则会创建新的Bean实例,并且该Bean实例仅在当前HTTP请求内有效,当前HTTP请求结束后,该Bean实例也将会随之被销毁。

Session

Session指在一次HTTP Session中容器会返回该Bean的同一个实例,而对不同的Session请求则会创建新的Bean实例,该Bean实例仅在当前Session内有效。和HTTP请求相同,每一次Session都会创建新的Bean实例,而不同的Bean实例之间不共享数据,且Bean实例仅在自己的Session内有效,请求结束,则Bean实例将随之被销毁。

客户端链接上服务器就算是一次session,关闭浏览器重新连接或者清除cookie可以更换session。注意刷新浏览器是不会更改session的。

Global Session

Global Session指在一个全局的HTTP Session中容器会返回该Bean的同一个实例,且仅在使用Portlet Context时有效。

我理解的这个应用场景是多个服务端公用一个session的场景。

以上摘自 offer来了:Java面试核心只是点精讲 书籍

相关文章:

  • 《UE5_C++多人TPS完整教程》学习笔记5 ——《P6 在线子系统(Online Subsystem)》
  • 现代浏览器对 es模块 【esm】原生支持
  • C语言第二十四弹---指针(八)
  • 假期2.13
  • Stable Diffusion教程——使用TensorRT GPU加速提升Stable Diffusion出图速度
  • localStorage、sessionStorage、cookie区别
  • Windows 安装和连接使用 PgSql数据库
  • 【Git】Windows下通过Docker安装GitLab
  • 【PyQt】08 - 编辑Tab顺序
  • springboot集成Sa-Token及Redis的redisson客户端
  • 计算机二级数据库之数据模型(三层相关的结构)
  • 【国产MCU】-CH32V307-触摸按键检测(TKEY)
  • 揭秘 2024 春晚刘谦魔术——代码还原
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • 使用Express 构建高效的Web应用程序
  • 分享的文章《人生如棋》
  • 《剑指offer》分解让复杂问题更简单
  • Android框架之Volley
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JSDuck 与 AngularJS 融合技巧
  • php ci框架整合银盛支付
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • ubuntu 下nginx安装 并支持https协议
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 服务器之间,相同帐号,实现免密钥登录
  • 那些年我们用过的显示性能指标
  • 前端面试之闭包
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 网络应用优化——时延与带宽
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 进程与线程(三)——进程/线程间通信
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #预处理和函数的对比以及条件编译
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (4)(4.6) Triducer
  • (ibm)Java 语言的 XPath API
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (笔试题)合法字符串
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (三)elasticsearch 源码之启动流程分析
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四)Linux Shell编程——输入输出重定向
  • (一)为什么要选择C++
  • (转)http-server应用
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ***监测系统的构建(chkrootkit )
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net中生成excel后调整宽度