springbean生命周期

IOC容器在处理Bean的时候有三个关键点都发生在AbstractAutowireCapableBeanFactory#doCreateBean()方法中

1. createBeanInstance() -> 实例化Bean

2. populateBean() -> 填充属性

3.initializeBean() -> 处理Bean初始化后的各种回调事件



springbean生命周期_第1张图片

在实例化和设置属性之后 进入到initializeBean方法中

先调用invokeAwareMethod()方法执行 Aware回调

在执行BeanPostProcessor#postProcessorBeforeInitialization()

在调用InitializingBean的afterPropertiesSet()方法 ,该方法是设置完属性后回调的

然后调用xml里指定的init-method方法(如果没指定执行默认的)

再调用BeanPostProcessor#postProcessorAfterInitialization() 进行后置处理

此时Bean已经完全创建好了


如果该Bean实现了DisposableBean#destroy方法 容器关闭时先调用此方法 

然后在调用xml中指定的destory-method方法(如果没指定执行默认的)

你可能感兴趣的:(springbean生命周期)