Bean 创建的调用链
Spring Bean 创建的代码调用链
最终在 AbstractAutowireCapableBeanFactory 的 doCreateBean() 方法中进行 bean 的创建,创建的主要流程如下:
- createBeanInstance(),创建 bean 实例
- populateBean(),填充 bean 的属性
- initializeBean(),初始化 bean
- registerDisposableBeanIfNecessary(),注册销毁回调接口
createBeanInstance()
创建 bean 实例的方式:
- 通过回调方法
- 通过工厂方法
- 通过构造方法
populateBean()
根据注入类型,进行属性填充
initializeBean()
- 处理Aware接口
- BeanPostProcessor 前置处理
- 调用用户自定义方法
- BeanPostProcessor 后置处理
registerDisposableBeanIfNecessary()
注册 bean 销毁逻辑,用户自定义的销毁逻辑也在这一部分注册
Bean 的生命周期
(来自 juejin.cn/post/684490… )