Spring源码解析之DefaultListableBeanFactory

来源:互联网 发布:刚开的淘宝店没生意怎么办 编辑:程序博客网 时间:2024/04/24 10:32

DefaultListableBeanFactory是bean加载的核心部分,是Spring注册及加载的默认实现。它的层次关系如下图
DefaultListableBeanFactory

BeanFactory

它是Spring中Bean容器的顶级接口。里面有获取bean,判断是否包含bean,是否单例,获取别名等基本方法

ListableBeanFactory

根据条件获取Bean的配置清单。
如String[] getBeanDefinitionNames();返回bean在工厂中定义的名称。
Bean在工厂中定义的次数。是否某个名称被定义在这个Bean中

HierarchicalBeanFactory

BeanFactory getParentBeanFactory();//获取父类Bean Factory

SingletonBeanRegistry

定义单例的注册及获取

ConfigurableBeanFactory

提供了配置Bean的各种方法

AutowireCapableBeanFactory

提供了创建Bean,自动注入Bean,初始化前后执行的方法

ConfigurableListableBeanFactory

提供分析和修改Bean的定义,指定忽略类型和接口等

AliasRegistry

对别名的增删改查

BeanDefinitionRegistry

BeanDefinition的增删改查

SimpleAliasRegistry

使用ConcurrentHashMap对alisa做对应的实现

DefaultSingletonBeanRegistry

使用各种集合存储,对接口SingletonBeanRegistry进行实现

FactoryBeanRegistrySupport

增加了对FactoryBean的特殊处理

AbstractBeanFactory

额外提供ConfigurableBeanFactory的一些功能

AbstractAutowireCapableBeanFactory

主要对接口AutowireCapableBeanFactory进行实现

DefaultListableBeanFactory

对上面的一个综合类,

0 0