【Spring】IOC控制反转和DI依赖注入
1.IOC是什么
IOC英文全称Inversion of Control,翻译为控制反转,是一种设计思想。将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
2.依赖注入
IOC思想的实现:DI依赖注入。
bean对象的创建,以及bean对象中属性的赋值。
3.IOC容器的创建
创建对象前需要先创建IOC容器。
3.1 通过BeanFactory接口
IOC容器的基本实现,Spring内部使用的接口,不提供给开发人员使用。
3.2 通过ApplicationContext接口
ApplicationContext是BeanFactory的子接口,一般都用这个。
3.3 ApplicationContext接口的主要实现类
选中BeanFactory,Ctrl+H 查看结构树
类型名 | 简介 |
---|---|
ClassPathXmlApplicationContext | 通过读取类路径下的 XML 格式的配置文件创建 IOC 容器对象 |
FileSystemXmlApplicationContext | 通过文件系统路径读取 XML 格式的配置文件创建 IOC 容器对象 |
ConfigurableApplicationContext | ApplicationContext 的子接口,包含一些扩展方法 refresh() 和 close() ,让 ApplicationContext 具有启动、关闭和刷新上下文的能力。 |
WebApplicationContext | 专门为 Web 应用准备,基于 Web 环境创建 IOC 容器对象,并将对象引入存入 ServletContext 域中。 |