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

Spring Bean

一、 Spring Bean的概念

Spring Bean 是由 Spring IoC 容器管理的对象。

  • Bean:在 Spring 中,任何被 Spring 容器创建、管理的对象都称为 Bean。
  • IoC 容器:Spring 通过 IoC(控制反转) 机制管理 Bean 的生命周期,包括创建、依赖注入、初始化和销毁。

1.Bean 的特点

  • 由容器管理:Bean 的创建、配置和依赖关系由 Spring 容器负责,而非手动通过 new 关键字创建。
  • 依赖注入:Bean的依赖通过容器注入,无需在类内部硬编码依赖对象的创建逻辑。
  • 生命周期管理:容器控制 Bean 的初始化、销毁等生命周期方法。
  • 可配置:Bean 的属性、依赖关系和行为可通过 XML 配置、Java 注解或 Java 配置类定义。

2.Bean 的作用域

Spring 框架中的 Bean 作用域(Scope)定义了 Spring 容器如何创建和管理 Bean 实例。不同的作用域决定了 Bean 在应用中的生命周期和可见范围。
在Spring框架中,Bean的作用域(Scope)定义了Bean的生命周期和可见范围。Spring提供了多种作用域选项,以满足不同的应用场景需求。下面详细介绍这些作用域:

  • 单例(Singleton):每个Spring IoC容器中只存在一个Bean实例,所有对该Bean的请求都会返回同一个实例。适合无状态的 Bean。
  • 原型(Prototype): 每次请求Bean时都会创建一个新的实例。适合有状态的Bean(如包含用户会话数据的对象)。
  • request ( Web 应用可用): 每个HTTP请求创建一个新的Bean实例,请求结束后销毁。
  • 会话(Session, Web 应用可用):每个 HTTP 会话创建一个新的 Bean 实例,会话过期后销毁。
  • 应用(Application, Web 应用可用): 每个ServletContext创建一个Bean实例,整个应用生命周期内共内共享。ServletContext 是 Servlet 容器(如 Tomcat)为每个部署的 Web 应用创建的全局对象,代表整个应用的上下文环境。每个 Web 应用在服务器中只有一个 ServletContext,因此该作用域的 Bean 也只有一个实例。
  • WebSocket(Spring 5+, Web 应用可用): 每个WebSocket会话创建一个Bean实例。
http://www.xdnf.cn/news/14017.html

相关文章:

  • aardio 继承与多态
  • 智能出入库管理系统:自动化管控平台
  • 我是如何用 Agent 编程的
  • Day01_C数据结构
  • 普通属性 vs ref 包装属性
  • C#迭代器
  • xa_get_mark 简介
  • PyCharm 配置python解释器
  • 跨网软件如何重塑能源行业?推荐高效协同的跨网传输方案
  • 在python中获取符合特定模式的文件
  • 《Java开发工具全解析:从基础到前沿》
  • MySQL数据库死锁全解析:发生场景、定位方法、解决方案及最佳实践
  • 京东率先开启“3D信息流时代” 让购物更有趣
  • TortoiseSVN 下载指定版本客户端及对应翻译(汉化)包
  • ABP vNext + OpenIddict:自定义 OAuth2/OpenID Connect 认证策略
  • 搭建前端项目 Vue+element UI引入 步骤 (超详细)
  • 2025年第二届仿真与电子技术国际学术会议(ICSET 2025)
  • 用 PlatformIO + ESP-IDF 框架开发 ESP32
  • OB Cloud × 海牙湾:打造高效灵活的金融科技 AI 数字化解决方案
  • 安科瑞中小工商业储能监测-能量管理系统Acrel-2000ES
  • SAP 生产订单报工检查报错异常(接口)
  • 智能客服不再冰冷,声网AI为品牌构建情绪接口
  • 仪表刻度动态显示控件--小三角指针
  • 语言模型进化论:从“健忘侦探”到“超级大脑”的破案之旅
  • MQTT协议
  • 使用Word2Vec实现中文文本分类
  • [深度学习]卷积神经网络
  • 【王阳明代数集合论基础】情感分析之句子的基本结构
  • MiniMind(1)Tokenizer与训练数据
  • 从Pura 80系列影像和鸿蒙AI融合看华为创新的“不可复制性”