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

Bean 的作用域你知道么 ?

Bean 的作用域有哪些?

所谓的作用域,其实就是说这个东西在哪个范围内可以被使用 , 如我们定义类的成员变量的时候使用的public,private等这些也是作用域的概念

Spring的Bean的作用域, 描述的就是这个Bean在哪个范围内可以被使用. 不同的作用域决定了Bean的创建, 管理和销毁的方式

常见的作用域有Singleton , Prototype , Request , Session , Applciation这5种. 我们在代码中,可以在定义一个Bean的时候,通过@Scope注解来指定它的作用域

@Service
@Scope("prototype")
public class Service() {
​
}
  1. 单例(Singleton) :

    • 默认作用域

    • 对于每个Spring IOC容器,只创建一个Bean实例

    • 适用于全局共享的状态

  1. 原型(Prototype) :

    • 每次请求都会创建一个新的Bean实例

    • 适用于所有状态都是非共享的情况

  2. 请求(Request) :

    • 仅仅在Web应用程序中有效

    • 每个HTTP请求都会创建一个新的Bean实例

    • 用于请求级别的数据存储和处理

  3. 会话(Session) :

    • 仅仅在Web应用程序中有效

    • 每个HTTP会话都会创建一个新的Bean实例

    • 适用于会话级别的数据存储和处理

  4. 应用(Application) :

    • 仅仅在Web应用程序中有效

    • 在ServletContext在生命周期内 , 只创建一个Bean实例

    • 适用于全应用程序级别的共享数据

  5. Websocket :

    • 仅仅在Web应用程序中有效

    • 在WebSocket的生命周期内,只创建一个Bean实例

    • 适用于webSocket级别的共享数据

http://www.lryc.cn/news/302973.html

相关文章:

  • Windows 使设置更改立即生效——并行发送广播消息
  • PostgreSQL使用session_exec和file_fdw实现失败次数锁定用户策略
  • Jmeter实现阶梯式线程增加的压测
  • Linux----防火墙之保存规则
  • spring-orm:6 HibernateJpaVendorAdapter源码解析
  • php捕获Fatal error错误与异常处理
  • PyCharm 调试过程中控制台 (Console) 窗口内运行命令 - 实时获取中间状态
  • MacBook Pro如何安装rust编程环境
  • SparkUI任务启动参数介绍(148个参数)
  • nginx 安装
  • 手撕扩散模型(一)| 训练部分——前向扩散,反向预测代码全解析
  • linux 防火墙
  • Go应用性能分析实战
  • MySQL的索引类型
  • picker选择器-年月日选择
  • 【LeetCode-494】目标和(回溯动归)
  • 力扣 188. 买卖股票的最佳时机 IV
  • 【Go语言】Go项目工程管理
  • 美容小程序:让预约更简单,服务更贴心
  • 【递归】:原理、应用与案例解析 ,助你深入理解递归核心思想
  • 【 Maven 】花式玩法之多模块项目
  • LeetCode 热题 100 Day01
  • [vscode]vue js部分结尾加分号
  • 友点CMS image_upload.php 文件上传漏洞复现
  • C语言—指针(3)
  • 【八股文】面向对象基础
  • Day49 647 回文子串 516 最长回文子序列
  • 探秘GNU/Linux Shell:命令行的魔法世界
  • 基于STM32F407的coreJSON使用教程
  • keepalived双主模式测试