spring bean生命周期
1 Spring Bean 生命周期
Spring Bean的生命周期指的是Bean从创建到初始化再到销毁的过程,这个过程由IOC容器管理。
Bean的初始化和销毁 在整个生命周期过程中,我们可以自定义Bean的初始化和销毁钩子函数,当Bean的生命周期到达相应的阶段的时候,Spring会调用我们自定义的Bean的初始化和销毁方法。自定义Bean初始化和销毁方法有多种方式 。
实例化:实例化一个 bean 对象;
属性赋值:为 bean 设置相关属性和依赖;
检查Aware并设置相关依赖
BeanPostProcessor前置处理
检查是否是InitializingBean的子类来决定是否调用afterPropertiesSet方法
初始化:init-method
方式1:通过@Bean指定init-method和destroy-method;
方式2:通过让Bean实现InitializingBean(定义初始化逻辑),DisposableBean(定义销毁逻辑);
方式3:可以使用JSR250; @PostConstruct:在bean创建完成并且属性赋值完成;来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行清理工作
初始化后续操作:BeanPostProcessor后置处理。该阶段结束,才能被用户使用;
注册必要的Destruction相关回调接口
执行DisposableBean的接口
销毁:真正销毁 bean 时再执行相应的方法。
Bean创建过程:
AbstractAutowireCapableBeanFactory
1 |
|
后续源码分析……..
spring阶段总结:
实例化、属性赋值、初始化、销毁这 4 个大阶段
2 Spring AOP工作流程
spring bean生命周期
https://leellun.github.io/2023/03/05/后端/spring/2023-03-05-spring-bean生命周期/