IOC容器
IOC容器是Invension of Control的简写,这是一种设计思想,是一个重要的面向对象变成法。
Spring通过IOC容器来管理所有Java对象的实例化和初始化,控制对象与对象的依赖关系。我们将由IOC容器管理的Java对象称之为Spring Bean,它与使用new关键字创建出来的Java对象没有任何区别。(首先在配置文件或者注解里面定义bean的相关信息,然后通过BeanDefinitionReader进行读取加载,最后通过BeanFactory+反射进行实例化,最终得到实例化对象)
1. IOC容器
1.1 控制反转
- 控制反转是一种思想。
- 控制反转是为了降低程序的耦合性,提高程序扩展能力。
- 控制反转,反转的是什么?
- 将对象的创建权交出去,交给第三方容器管理。
- 将对象和对象之间关系的维护权交出去,交给第三方容器管理。
- 控制反转这种思想如何实现?
- DI(Dependency Injection):依赖注入。
1.2 依赖注入
依赖注入实现了控制反转的思想
- 指Spring创建对象过程中,将对象依赖属性通过配置进行注入。
依赖注入常见的额两种方式:
- set注入
- 构造注入
因此:IOC是一种控制反转的思想,而DI是对IOC容器的具体实现。
1.3 IOC容易在Spring当中的实现
Spring IOC容器就是IOC思想的一个落地产品的 实现,IOC容器中管理的组件也叫做Bean,但创建Bean之前需要创建IOC容器,Spring提供了IOC容器实现的两种方式:
A: BeanFactory
这是IOC容器的基本实现,是Spring内部使用的接口,并不面向开发人员。
B: ApplicationContext
BeanFactory的子接口,面向Spring的使用者,几乎所有场合都使用AppilicationContext。
标签:容器,对象,Spring,概述,反转,IOC,注入 From: https://www.cnblogs.com/lilyflower/p/18050064