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

Spring Bean生命周期通俗讲解

Spring Bean 的生命周期可以简单理解为 Bean 从创建到销毁的过程。我们可以用“人的一生”来类比:
1. 出生(实例化):Spring 容器通过构造函数或工厂方法创建 Bean 的实例,就像人出生一样。
2. 设置属性(属性赋值):Spring 通过依赖注入为 Bean 的属性赋值,比如通过 @Autowired 或 XML 配置注入其他 Bean 或值,就像给婴儿喂奶、穿衣服。
3. 初始化(Initialization):
◦ BeanNameAware:如果 Bean 实现了 BeanNameAware 接口,Spring 会设置 Bean 的名称。
◦ BeanFactoryAware:如果实现了 BeanFactoryAware 接口,Spring 会设置 BeanFactory。
◦ ApplicationContextAware:如果实现了 ApplicationContextAware 接口,Spring 会设置 ApplicationContext。
◦ @PostConstruct 或 InitializingBean:Spring 会调用 @PostConstruct 注解的方法或 afterPropertiesSet() 方法,进行自定义初始化,就像人上学、学习技能。
4. 使用(Ready to Use):Bean 初始化完成后,就可以被应用程序使用了,就像人成年后开始工作。
5. 销毁(Destruction):
◦ @PreDestroy 或 DisposableBean:当容器关闭时,Spring 会调用 @PreDestroy 注解的方法或 destroy() 方法,进行清理工作,就像人退休、安享晚年。
◦ 销毁:Bean 被销毁,生命周期结束。
总结一下,Spring Bean 的生命周期就是:出生 → 设置属性 → 初始化 → 使用 → 销毁。这个过程由 Spring 容器管理,开发者只需关注初始化和销毁时的逻辑。
希望这个比喻能帮助你理解!

http://www.dtcms.com/a/27609.html

相关文章:

  • VScode C语言学习开发环境;运行提示“#Include错误,无法打开源文件stdio.h”
  • php文件包含
  • C extern在函数声明中的作用
  • 各类数据质量等相关学习地址
  • vmware centos 10 stream boot 安装
  • 【算法】快排-786. 第k个数
  • 23. AI-大语言模型-DeepSeek
  • MySQL登录问题总结
  • 【Reasoning】LLaMA-Berry: Pairwise Optimization for O1-like Olympiad-Level Mathematical Reasoning
  • Linux 内核中的 container_of 宏:以 ipoib_rx_poll_rss 函数为例
  • Langchain vs. LlamaIndex:哪个在集成MongoDB并分析资产负债表时效果更好?
  • android,flutter 混合开发,pigeon通信,传参
  • RDMA ibverbs_API功能说明
  • 【蓝桥杯集训·每日一题2025】 AcWing 6122. 农夫约翰的奶酪块 python
  • Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测
  • javaSE学习笔记22-线程(thread)-线程通信、线程池
  • MySQL(1)基础篇
  • 【数据集】 jsonl格式
  • Rust编程语言入门教程 (六)变量与可变性
  • RTSP协议讲解及漏洞挖掘
  • 如何使用Redis实现分布式锁
  • ok113i平台——更改根目录分区大小
  • 【Linux】Linux 文件系统——剖析文件权限概念,文件类型和inode号
  • 观察者模式示例代码
  • 【大模型】数据集构造方式
  • VMware17Pro虚拟机安装macOS教程(超详细)
  • 在高流量下保持WordPress网站的稳定和高效运行
  • 前端笔试面试资源汇总
  • 基于java新闻管理系统,推荐一款开源cms内容管理系统ruoyi-fast-cms
  • 图解MySQL【日志】——Buffer Pool