Spring 的生命周期

Spring 的生命周期

  1. 实例化(Instanctiation)
  2. 属性填充(Populate)
  3. 初始化(Initialization)
  4. 销毁(Destruction)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
img
img

1. 实例化

判断是否存在方法覆盖,如果有,使用 JDK 的反射机制来实例化。
如果没有,使用 CGLib 技术实例化。
img

2.属性填充

分为:按名称填充、和按类型填充
img

3.初始化
  1. Aware 相关回调
  2. 初始化前置处理
  3. 初始化
  4. 初始化后置处理

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean
img

销毁

从容器中,移除 beanName
调用 DesposableBean.distroy 接口
img

参考资料