spring-beans 深入源码之bean的生命周期源码分析
2016-08-29 本文已影响73人
holly_wang_王小飞
接着http://www.jianshu.com/p/0a6f37600fb0 这篇文章分析源码层
在spring-beans module得test中有LifecycleBean这个bean,和ProtectedLifecycleBean 这个bean
![](https://img.haomeiwen.com/i2847417/a9ecf090a8c2444a.png)
![](https://img.haomeiwen.com/i2847417/16d115e288efaeba.png)
实现了
BeanNameAware, BeanFactoryAware, InitializingBean, DisposableBean
分析这个类的生命周期即可了解spring初始化bean的时候会做哪些事情
在test.xml中配置了这两个bean
![](https://img.haomeiwen.com/i2847417/f1a44e265b7d201c.png)
在XmlBeanDefinitionReaderTests
增加一个test方法或者修改其中一个方法为
![](https://img.haomeiwen.com/i2847417/53b0346afe9ef660.png)
关于bean得读取后面再了解 这里读取test.xml后会初始化里面配置的bean 在LifecycleBean 得各个方法中打断点即可知道初始化的流程,还有LifecycleBean 在各个方法中都判断了以前需要执行的方法 如若没有执行会抛出异常的
![](https://img.haomeiwen.com/i2847417/d90d574ed5d1e01d.png)
所以初始化的过程还是比较从这个test case出理出头绪的。