学透 Spring:从入门到项目实战
丁雪丰
美团研究员
1073 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 45 讲
时长 07:11
时长 15:51
时长 00:10
时长 02:03
时长 00:39
学透 Spring:从入门到项目实战
15
15
1.0x
00:00/00:00
登录|注册

第 2 章 Spring Framework 中的 IoC 容器(2)

2.3 定制容器与 Bean 的行为

通常,Spring Framework 包揽了大部分工作,替我们管理 Bean 的创建与依赖,将各种组件装配成一个可运行的应用。然而,有些情况下,我们会有自己的特殊需求。例如,在 Bean 的依赖被注入后,我们想要触发 Bean 的回调方法做一些初始化;在 Bean 销毁前,我们想要执行一些清理工作;我们想要 Bean 感知容器的一些信息,拿到当前的上下文自行进行判断或处理……
这时候,怎么做?Spring Framework 为我们预留了发挥空间。本节我们就来探讨一下如何根据自己的需求来定制容器与 Bean 的行为。

2.3.1 Bean 的生命周期

Spring 容器接管了 Bean 的整个生命周期管理,具体如图 2-2 所示。一个 Bean 先要经过 Java 对象的创建(也就是通过 new 关键字创建一个对象),随后根据容器里的配置注入所需的依赖,最后调用初始化的回调方法,经过这三个步骤才算完成了 Bean 的初始化。若不再需要这个 Bean,则要进行销毁操作,在正式销毁对象前,会先调用容器的销毁回调方法。
图 2-2 Bean 的生命周期
由于一切都是由 Spring 容器管理的,所以我们无法像自己控制这些动作时那样任意地在 Bean 创建后Bean 销毁前增加某些操作。为此,Spring Framework 为我们提供了几种途径,在这两个时间点调用我们提供给容器的回调方法。可以根据不同情况选择以下三种方式之一:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Spring Framework 中的 Bean 生命周期管理和 Aware 接口的应用是本文的重点。文章详细介绍了容器与 Bean 定制行为,包括管理 Bean 的生命周期、执行特定操作的方法以及多种指定初始化和销毁方法的执行顺序。此外,还介绍了 Aware 接口的应用,让 Bean 感知容器的存在,并且介绍了 BeanFactoryAware、ApplicationContextAware 和 BeanNameAware 接口的使用方法,以及如何利用 ApplicationEventPublisherAware 接口来发送事件。另外,文章还提到了容器的扩展点,如 BeanPostProcessor 和 BeanFactoryPostProcessor 接口的使用方法,以及如何优雅地关闭容器。除此之外,还介绍了 Spring Framework 中的环境抽象和任务抽象,帮助读者更好地理解和定制 Spring 容器与 Bean 的行为。文章内容丰富,涵盖了 Spring Framework 中 Bean 的生命周期管理和 Aware 接口的应用,对于想要深入了解 Spring Framework 的读者来说,是一篇值得阅读的文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《学透 Spring:从入门到项目实战》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部