参考地址:
《Spring核心之BeanFactory 一张图看懂getBean全过程.》
前言
笔者最近在工作空闲时间研究 Spring 的生命周期部分,好奇之下也总结了《Spring 中 BeanFactory 的生命周期与源码解析(附例程)》。然而对于 Spring 框架如何获取一个 Bean 的过程,笔者并没有从源码级别实现理解。于是笔者便开始从 AbstractBeanFactory # doGetBean 方法进行研究。
即使将 doGetBean 方法阅读完毕,依旧没有完全明白 Bean 是如何从一个 XML 文件转换成具体的 Object 对象的,更何况中间还实现了依赖注入的思想。在翻阅资料的过程中,笔者翻阅到了一篇博文:《Spring核心之BeanFactory 一张图看懂getBean全过程.》,该文章开头一张惊天地泣鬼神的配图震惊到了笔者…… 于是笔者从该篇文章开始,按照该图的思路,进行逐步的分析。
按照该文的封页图的思路,可将 BeanFactory 创建对象分为四个主要流程:
- 获取 Bean:最外层方法
- AbstractBeanFactory # doGetBean
- 创建 Bean:
- AbstractAutowireCapableBeanFactory # createBean
- AbstractAutowireCapableBeanFactory # doCreateBean
- AbstractAutowireCapableBeanFactory # createBeanInstance
- 填充 Bean:
- AbstractAutowireCapableBeanFactory # populateBean
- 初始化 Bean:
- AbstractAutowireCapableBeanFactory # initializeBean
本系列文章按照上述行文思路进行书写。
前言部分以《Spring核心之BeanFactory 一张图看懂getBean全过程.》的封页图镇尾。

原谅我当时看到这张图就跪了下来……
网友评论