文章目录
- 一、原始与工厂模式
- 二、IOC模式
- 三、IOC容器在Spring中的实现
-
- ①BeanFactory
- ②ApplicationContext
- ③ApplicationContext的主要实现类
一、原始与工厂模式
二、IOC模式
三、IOC容器在Spring中的实现
IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂
①BeanFactory
- 这是 IOC 容器的基本实现,是 Spring 内部使用的接口。面向 Spring 本身,不提供给开发人员使用。
- 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
②ApplicationContext
- BeanFactory 的子接口,提供了更多高级特性。面向 Spring 的使用者,几乎所有场合都使用 ApplicationContext 而不是底层的 BeanFactory。
- 以后在 Spring 环境下看到一个类或接口的名称中包含 ApplicationContext,那基本就可以断定,这个类或接口与 IOC 容器有关。
- 加载配置文件时候就会把在配置文件对象进行创建
③ApplicationContext的主要实现类
类型名 | 简介 |
---|---|
ClassPathXmlApplicationContext | 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象 |
FileSystemXmlApplicationContext | 通过文件系统路径读取 XML 格式的配置文件创建 IOC 容器对象 |
ConfigurableApplicationContext | ApplicationContext 的子接口,包含一些扩展方法 refresh() 和 close() ,让 ApplicationContext 具有启动、关闭和刷新上下文的能力。 |
WebApplicationContext | 专门为 Web 应用准备,基于 Web 环境创建 IOC 容器对象,并将对象引入存入 ServletContext 域中。 |