Spring中最核心的两个类: DefaultListableBeanFactory与XmlBeanDefinitionReader。DefaultListableBeanFactory是Spring的发动机,是整个ioc容器的始祖,接下来就从源码层次了解DefaultListableBeanFactory。

AliasRegistry:定义对alias的简单增删改等操作
SimpleAliasRegistry:主要使用map作为alias的缓存,并实现接口AliasRegistry
SingletonBeanRegistry:定义对单例的注册及获取
BeanFactory:定义获取bean及bean的各种属性
DefaultSingletonBeanRegistry:继承BeanFactory,并加上对parentFactory的支持
BeanDefinitionRegistry:定义对BeanDefinition的各种增删改操作
FactoryBeanRegistrySupport:在DefaultSingletonBeanRegistry的基础上增加了对factory的特殊处理
ConfigurableBeanFactory:提供配置Factory的各种方法
ListableBeanFactory:根据条件获取bean的配置清单
AbstractBeanFactory:综合FactoryBeanRegistrySupport与ConfigurableBeanFactory的功能
AutowireCapableBeanFactory:提供创建bean、自动注入,初始化以及应用bean的后处理器
AbstractAutowireCapableBeanFactory:综合AbstractBeanFactory并实现AutowireCapableBeanFactory接口
ConfigurableListableBeanFactory:提供BeanFactory配置清单,指定忽略类型及接口等
DefaultListableBeanFactory:综合以上所有功能,及对bean注册后的处理
网友评论