学习内容:Spring Bean 生命周期
遍寻网络上各种有关生命周期的解释,发现各不相同,始终找不到统一的解释,最后发现在源码org.springframework.beans.factory.BeanFactory的注释上清楚地写着生命周期的流程
1-10步为各种Aware接口的方法,用于给bean注入属性,入口在initializeBean方法的invokeAwareMethods(beanName, bean)
然后是后置处理器BeanPostProcessor.postProcessBeforeInitialization方法
接着是自定义初始化方法:
1.实现InitializingBean接口的afterPropertiesSet()方法,此方法的作用“由 BeanFactory 设置所有属性后需要做出反应的 bean 实现的接口:例如,执行自定义初始化,或仅检查所有强制属性是否已设置”
2.@Bean 指定方法 org.springframework.beans.factory.support.RootBeanDefinition.getInitMethodName 处理,
初始化完成后,执行后置处理器的BeanPostProcessor.postProcessAfterInitialization方法
销毁bean
1.实现DisposableBean接口,调用destroy()方法
2…RootBeanDefinition.getDestroyMethodName()获取自定义销毁方法