spring启动过程之源码跟踪(小结bean的生命周期)--sp

2018-07-23  本文已影响0人  faunjoe

spring in action

image.png

1.容器发现bean的定义,初始化bean

2.使用依赖注入的方式,spring根据bean定义,设置bean的所有属性

3.如果bean继承了BeanNameAware接口,则工厂调用setBeanName方法,把bean的Id传值过去

4.如果bean继承了BeanFactoryAware接口,则工厂调用setBeanFactroy()方法,把本身的一个实例传值过去。

5.如果bean关联了一些BeanPostProcessor,则调用这些BeanPostProcessor的postProcessBeforeInitialization()方法。

6.如果bean的init-method方法被设置,则调用bean的初始化方法

7.最后,如果bean关联了一些BeanPostProcessor,则调用这些BeanPostProcessor的postProcessAfterInitialization()方法。

补充:applicationContext中bean的生命周期


image.png

Bean 实例创建时序图

image.png

Bean 对象关系建立

image.png
上一篇下一篇

猜你喜欢

热点阅读