SpringIoC 的容器对象
分别是: ClassPathXmlApplicationContext 、 XmlBeanFactory 和 FileSystemXmlApplicationContext
类说明
- Resource: Spring 中资源的定义
- ResourceLoader: 提供了资源加载方法
- BeanDefinitionReader: 提供了读取资源对象到Bean定义的方法
- DocumentLoader: 提供了将资源文件转换成 Document 对象的方法
- BeanDefinitionDocumentReader: 提供了将 Document 对象读取并注册到容器的方法
- EnvironmentCapable: 提供了获取环境配置的方法
- AliasRegistry: 提供了关于 alias 的增删改查方法
- SingletonBeanRegistry: 提供了关于 单例 Bean 的增删改查方法
- BeanDefinitionRegistry: 提供了关于 Bean 定义的增删改查方法
- BeanFactory:提供了获取 Bean 实例的方法
- HierarchicalBeanFactory: 在 BeanFactory基础上提供了关于父 BeanFactory 的支持
- ConfigurableBeanFactory: 提供了对 BeanFactory 的设置方法在其中可以设置关于类加载器、转换服务等配置信息
- AutowireCapableBeanFactory: 提供了创建 Bean、注入 Bean、应用后置处理器(BeanPostProcessor)、摧毁 Bean 等方法
- ApplicationContext: 应用上下文核心接口, 各类上下文实现类都是它的实现类
- ConfigurableApplicationContext: 提供了配置应用上下文属性的方法
- ListableBeanFactory: 提供了搜索 Bean 的方法, 从容器中获取关于 Bean 的配置
- Lifecycle: 提供了关于容器的生命周期方法. 开始和停止
这些接口笔者对其进行了简单的分类.
- 第一类是关于资源处理, 比如 Resource 、ResourceLoader
- 第二类是关于注册形式, 在 Spring 中关于注册的几个核心就是 alias(AliasRegistry) 、Bean 定义注册(BeanDefinitionRegistry) 、单例Bean注册(SingletonBeanRegistry)
- 第三类是关于生命周期的, 生命周期又可以分为两类,
- 第一类是容器的生命周期, 容器生命周期的核心接口: Lifecycle
- 第二类是Bean的生命周期, Bean 生命周期的接口有: InitializingBean、DisposableBean
- 第四类是关于Bean拓展的, 如: BeanPostProcessor、Aware 系列接口
- 第五类是关于上下文的接口主要以: ApplicationContext 作为主导接口
- 第六类是读取接口主要用来读取信息,如: BeanDefinitionReader . 这也可以归到资源处理中, 笔者在这里还是将其提取出来做一个单独的大类