【Spring】Bean 的创建(1/4)

427 阅读1分钟

Bean 创建的调用链

Spring Bean 创建的代码调用链

Spring.drawio.png

最终在 AbstractAutowireCapableBeanFactorydoCreateBean() 方法中进行 bean 的创建,创建的主要流程如下:

  1. createBeanInstance(),创建 bean 实例
  2. populateBean(),填充 bean 的属性
  3. initializeBean(),初始化 bean
  4. registerDisposableBeanIfNecessary(),注册销毁回调接口

createBeanInstance()

创建 bean 实例的方式:

  • 通过回调方法 image.png
  • 通过工厂方法

image.png

  • 通过构造方法

image.png

populateBean()

根据注入类型,进行属性填充

initializeBean()

  • 处理Aware接口
  • BeanPostProcessor 前置处理
  • 调用用户自定义方法
  • BeanPostProcessor 后置处理

registerDisposableBeanIfNecessary()

注册 bean 销毁逻辑,用户自定义的销毁逻辑也在这一部分注册

Bean 的生命周期

bean.jpg (来自 juejin.cn/post/684490…

参考:
juejin.cn/post/684490…
blog.csdn.net/a745233700/…