Spring源码分析之Spring容器(二)
Spring源码分析之Spring容器(二)
Spring部分核心类介绍(参考资料:《Spring源码深度解析》)
BeanFactory相关
详细版
懒人版
BeanFactory:定义对单例的注册及获取。
HierarchicalBeanFactory:继承BeanFactory,也就是在BeanFactory定义的功能的基础上增加了对parentFactory的支持。
ConfigurableBeanFactory:提供配置Factory的各种方法。
ListableBeanFactory:提供各种条件获取bean的配置清单。
AbstractBeanFactory:BeanFactory部分功能的基本实现。
AutowireCapableBeanFactory:提供创建bean、自动注入、初始化以及应用bean的后处理器。
AbstractAutowireCapableBeanFactory:中和AbstractBeanFactory并对接口。
AutowireCapableBeanFactory进行实现。
ConfigurableListableBeanFactory:BeanFactory配置清单,指定忽略类型及接口等。
DefaultListableBeanFactory:基本默认的BeanFactory是实现类。
ApplicationContext相关:
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。