1_IOC容器概述

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。

posted @ 2024-03-03 15:00  LilyFlower  阅读(2)  评论(0编辑  收藏  举报