Spring笔记02-bean的生命周期

Spring Bean 生命周期涵盖从创建到销毁的过程,主要步骤如下:

  1. 实例化:Spring 容器依据配置创建 Bean 实例,一般通过反射调用构造函数。
  2. 属性注入:按配置为 Bean 的属性赋值,可通过 XML 标签或注解实现。
  3. Aware 接口回调 :若实现BeanNameAwareBeanFactoryAwareApplicationContextAware接口,Spring 会依次调用对应方法,让 Bean 获取自身名称、容器引用和应用上下文。
  4. BeanPostProcessor 处理 :初始化前后,Spring 分别调用BeanPostProcessorpostProcessBeforeInitializationpostProcessAfterInitialization方法,可用于额外处理。
  5. 初始化 :实现InitializingBean接口,Spring 会调用afterPropertiesSet方法;也可指定自定义初始化方法。
  6. 使用 Bean:初始化完成后,Bean 可被应用程序使用。
  7. 销毁 :容器关闭时,若实现DisposableBean接口,Spring 调用destroy方法;也可指定自定义销毁方法。

演示:

单例对象的生命周期:

init初始化时间:容器建立,对象初始化

存活时间:只要容器在,对象就在

销毁时间:容器销毁,对象销毁

多例对象的生命周期:

初始化时间:跟随容器建立,每次通过容器获取时会建立一次

存活时间:对象只要在使用时都认为是存活的

销毁时间:对象长时间不适用,且没有被引用的情况下,由java的垃圾回收机制自动处理。

相关推荐
小江的记录本几秒前
【Spring全家桶】Spring AI核心原理、大模型集成、Prompt工程、RAG实现、AI Agent开发(附《思维导图》+《面试高频考点清单》)
java·人工智能·spring boot·后端·spring·面试·prompt
plainGeekDev4 分钟前
线程安全集合 → 协程安全替代
android·java·kotlin
vortex56 分钟前
CheatMD:让 Markdown 笔记变成可执行的交互式命令
笔记·网络安全·markdown
じ☆冷颜〃10 分钟前
Picard–Lindelöf定理在CS中的应用:理论框架与算法基础
人工智能·经验分享·笔记·算法·机器学习
手握风云-11 分钟前
Spring AI:让大模型住进 Spring 生态(五)
java·后端·spring
plainGeekDev11 分钟前
Timer → Coroutines
android·java·kotlin
云烟成雨TD13 分钟前
Spring AI 1.x 系列【40】MCP 客户端 Spring Boot 启动器
人工智能·spring boot·spring
糖果店的幽灵14 分钟前
Spring AI 从入门到精通-Spring AI 是什么
java·人工智能·spring
LuminousCPP15 分钟前
C 语言系列终章|编译与链接 + 预处理
c语言·经验分享·笔记·预处理·编译链接
XiYang-DING16 分钟前
【Java EE】TOCTOU
java·java-ee