之前debug过无数次,Spring的源码也看了很多次,但是依然记不住Spring中bean的生命周期到底是怎么样的,究其原因,主要是缺乏一个自顶向下的总结(以BeanFactory为例,destroy比较简单,不列入内)
1:概括的说,bean的生命周期就这4步,其中2、3、4步主要在源码
AbstractAutowireCapableBeanFactory.doCreateBean方法中
image.png
2.在四步里面每一步,都发生了什么呢?(点大图看)
20181226.JPG
总结下来,bean的生命周期就是四步,加载BeanDefinition,实例化,属性注入,初始化。以及包含在这四个关键步骤之内的一些其他操作。看完可以在github下个例子debug一下https://github.com/brianway/spring-learning