Spring源码分析之Spring容器(二)

Spring源码分析之Spring容器(二)

Spring部分核心类介绍(参考资料:《Spring源码深度解析》)
BeanFactory相关
详细版
Spring源码分析之Spring容器(二)
懒人版
Spring源码分析之Spring容器(二)
BeanFactory:定义对单例的注册及获取。

HierarchicalBeanFactory:继承BeanFactory,也就是在BeanFactory定义的功能的基础上增加了对parentFactory的支持。

ConfigurableBeanFactory:提供配置Factory的各种方法。

ListableBeanFactory:提供各种条件获取bean的配置清单。

AbstractBeanFactory:BeanFactory部分功能的基本实现。

AutowireCapableBeanFactory:提供创建bean、自动注入、初始化以及应用bean的后处理器。

AbstractAutowireCapableBeanFactory:中和AbstractBeanFactory并对接口。

AutowireCapableBeanFactory进行实现。

ConfigurableListableBeanFactory:BeanFactory配置清单,指定忽略类型及接口等。

DefaultListableBeanFactory:基本默认的BeanFactory是实现类。


ApplicationContext相关:
Spring源码分析之Spring容器(二)
ApplicationContext:容器的基本定义接口。

ConfigurableApplicationContext:在ApplicationContext的基础上提供配置功能。

AbstractApplicationContext:ApplicationContext部分功能的基本实现。

AbstractXmlApplicationContext:通过xml初始化ApplicationContext的基础抽象类。

ClassPathXmlApplicationContext:默认从classpath加载xml初始化ApplicationContext。

FileSystemXmlApplicationContext:默认从系统文件加载xml初始化ApplicationContext。

WebApplicationContext:专门为Web应用准备的,它允许从相对于Web根目录的路径中
装载配置文件完成初始化工作。从WebApplicationContext中可以获得ServletContext的引用,整个Web应用上下文对象将作为属性放置到ServletContext中,以便Web应用环境可以访问Spring应用上下文。

GenericApplicationContext:不是比较常用的ApplicationContext实现,但是更具灵活性,可以任意配置读取路径和DefinitionReader。