spring源码

Spring源码之容器-beans-DefaultListabl

2018-12-06  本文已影响10人  夜阑人儿未静

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

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注册后的处理

上一篇 下一篇

猜你喜欢

热点阅读