当前位置: 首页 > 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 容器管理,开发者只需关注初始化和销毁时的逻辑。
希望这个比喻能帮助你理解!

相关文章:

  • 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协议讲解及漏洞挖掘
  • 《大风杀》上海首映,白客说拍这戏是从影以来的最大挑战
  • 济南高新区一季度GDP增长8.5%,第二产业增加值同比增长14.4%
  • 当初没有珍惜巴特勒的热火,被横扫出局后才追悔莫及
  • 上海74岁老人宜春旅游时救起落水儿童,“小孩在挣扎容不得多想”
  • 扎克伯格怕“错过风口”?Meta AI数字伴侣被允许与未成年人讨论不当话题
  • 安阳一村支书微信群骂村民被警方行拘,辩称对方先“污蔑造谣”