0
点赞
收藏
分享

微信扫一扫

springbean生命周期

科牛 2021-09-30 阅读 57

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

1. createBeanInstance() -> 实例化Bean

2. populateBean() -> 填充属性

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



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

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

在执行BeanPostProcessor#postProcessorBeforeInitialization()

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

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

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

此时Bean已经完全创建好了


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

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

举报

相关推荐

0 条评论