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的垃圾回收机制自动处理。

相关推荐
敲代码的瓦龙39 分钟前
Java?面向对象三大特性!!!
java·开发语言
架构师沉默41 分钟前
AI 写的代码,你敢上线吗?
java·后端·架构
骑龙赶鸭1 小时前
java开发项目中遇到的难点,面试!
java·开发语言·面试
NGC_66111 小时前
Java线程池七大核心参数介绍
java·开发语言
nqqcat~1 小时前
shell入门
笔记
float_com1 小时前
【java进阶】------ Lambda表达式
java·开发语言
小碗羊肉1 小时前
【从零开始学Java | 第二十三篇】泛型(Generics)
java·开发语言·新手入门
Aaswk1 小时前
刷题笔记(回溯算法)
数据结构·c++·笔记·算法·leetcode·深度优先·剪枝