美文网首页
Spring 之 BeanFactory 核心:getBean

Spring 之 BeanFactory 核心:getBean

作者: 琦小虾 | 来源:发表于2018-08-23 23:13 被阅读0次

参考地址:
《Spring核心之BeanFactory 一张图看懂getBean全过程.》

前言

笔者最近在工作空闲时间研究 Spring 的生命周期部分,好奇之下也总结了《Spring 中 BeanFactory 的生命周期与源码解析(附例程)》。然而对于 Spring 框架如何获取一个 Bean 的过程,笔者并没有从源码级别实现理解。于是笔者便开始从 AbstractBeanFactory # doGetBean 方法进行研究。
即使将 doGetBean 方法阅读完毕,依旧没有完全明白 Bean 是如何从一个 XML 文件转换成具体的 Object 对象的,更何况中间还实现了依赖注入的思想。在翻阅资料的过程中,笔者翻阅到了一篇博文:《Spring核心之BeanFactory 一张图看懂getBean全过程.》,该文章开头一张惊天地泣鬼神的配图震惊到了笔者…… 于是笔者从该篇文章开始,按照该图的思路,进行逐步的分析。


按照该文的封页图的思路,可将 BeanFactory 创建对象分为四个主要流程:

  1. 获取 Bean:最外层方法
    • AbstractBeanFactory # doGetBean
  2. 创建 Bean:
    • AbstractAutowireCapableBeanFactory # createBean
    • AbstractAutowireCapableBeanFactory # doCreateBean
    • AbstractAutowireCapableBeanFactory # createBeanInstance
  3. 填充 Bean:
    • AbstractAutowireCapableBeanFactory # populateBean
  4. 初始化 Bean:
    • AbstractAutowireCapableBeanFactory # initializeBean

本系列文章按照上述行文思路进行书写。

前言部分以《Spring核心之BeanFactory 一张图看懂getBean全过程.》的封页图镇尾。

BeanFactory 创建对象的流程图

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

相关文章

网友评论

      本文标题:Spring 之 BeanFactory 核心:getBean

      本文链接:https://www.haomeiwen.com/subject/tjsviftx.html