Spring 的生命周期
Spring 的生命周期
- 实例化(Instanctiation)
- 属性填充(Populate)
- 初始化(Initialization)
- 销毁(Destruction)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
1. 实例化
判断是否存在方法覆盖,如果有,使用 JDK 的反射机制来实例化。
如果没有,使用 CGLib 技术实例化。
2.属性填充
分为:按名称填充、和按类型填充
3.初始化
- Aware 相关回调
- 初始化前置处理
- 初始化
- 初始化后置处理
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean
销毁
从容器中,移除 beanName
调用 DesposableBean.distroy 接口
参考资料
附件 1:Spring 生命周期-创建和初始化.pdf