1.Spring源码之路-DefaulListableBeanFactory - 前言
Spring源码之路-DefaulListableBeanFactory
写文章的缘由
我对spring源码也是看过了好多次,但是每次都只是看个大概流程,没有进行过的任何的详细总结,导致的结果就是,说没看过吧,原理懂一点,说看过吧,里面某些东西的具体实现也很迷糊。所以今天开始从零开始学习spring源码。
为什么源码之路要从DefaulListableBeanFactory开始
任何强大事物都是由底层的核心扩展而来的,spring也不例外,而支撑起spring的核心就是这个DefaultListableBeanFactory
DefaultListableBeanFactory的类关系结构图
分解关系 逐个击破
从上面的图中我们可以到它的继承体系还是比较复杂的,如果直接去看这个类会是一头雾水,这里我目前的准备从接口入手,由简单到复杂。初步决定大概顺序如下:
- BeanFactory
- SingletonBeanRegistry
- AliasRegistry
- SimpleAliasRegistry
- DefaultSingletonBeanRegistry
- FactoryBeanRegistrySupport
- HierarchicalBeanFactory
- ConfigurableBeanFactory
- AbstractBeanFactory
- AutowireCapableBeanFactory
- AbstractAutowireCapableBeanFactory
- ListableBeanFactory
- ConfigurableListableBeanFactory
- BeanDefinitionRegistry
- DefaultListableBeanFactory