Spring关于Bean的生命周期流程图

整个生命周期,其实只有三个:

  • 实例化
  • set属性赋值
  • 初始化三个阶段

只不过Spring在生成bean的每个阶段前后进行一些增强处理,这些增强处理的操作,就交给了BeanPostProcessor。BeanPostProcessor主要负责在在bean的初始化阶段前后进行增强的,它还有2个关键子接口(当然不只2个,还有其他接口,控制其他流程)

  • InstantiationAwareBeanPostProcessor:在实例化阶段前后,和属性赋值前进行额外处理
  • DestructionAwareBeanPostProcessor:在销毁阶段进行额外处理

比如还有

  • SmartInstantiationAwareBeanPostProcessor:添加一个回调来预测最终处理bean的类型,主要是处理循环依赖的时候,依赖对象可能是代理类的情况。

下面是一个流程图的总结:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41947378/article/details/105434739