1.Spring源码之路-DefaulListableBeanFactory - 前言

写文章的缘由

我对spring源码也是看过了好多次,但是每次都只是看个大概流程,没有进行过的任何的详细总结,导致的结果就是,说没看过吧,原理懂一点,说看过吧,里面某些东西的具体实现也很迷糊。所以今天开始从零开始学习spring源码。

为什么源码之路要从DefaulListableBeanFactory开始

任何强大事物都是由底层的核心扩展而来的,spring也不例外,而支撑起spring的核心就是这个DefaultListableBeanFactory

DefaultListableBeanFactory的类关系结构图

1.Spring源码之路-DefaulListableBeanFactory - 前言

分解关系 逐个击破

从上面的图中我们可以到它的继承体系还是比较复杂的,如果直接去看这个类会是一头雾水,这里我目前的准备从接口入手,由简单到复杂。初步决定大概顺序如下:

  1. BeanFactory
  2. SingletonBeanRegistry
  3. AliasRegistry
  4. SimpleAliasRegistry
  5. DefaultSingletonBeanRegistry
  6. FactoryBeanRegistrySupport
  7. HierarchicalBeanFactory
  8. ConfigurableBeanFactory
  9. AbstractBeanFactory
  10. AutowireCapableBeanFactory
  11. AbstractAutowireCapableBeanFactory
  12. ListableBeanFactory
  13. ConfigurableListableBeanFactory
  14. BeanDefinitionRegistry
  15. DefaultListableBeanFactory