IoC控制反转,Bean,依赖注入

引入

下图是分别是业务层和数据层的实现代码

image-20250510143228082

image-20250510143321675

当我们想要切换数据层的切换方法,如下图:

image-20250510143428380

这个时候我们就需要重新new一个对象

image-20250510143456348

由此可见这个代码的书写方式的耦合度是高的,每次更改,都需要我们去new一个对象。

解决方法是将对象的控制权交给外部来解决,由外部来创建对象,内部只需要调用对象就好了,而这种思想就是控制反转。

概念

IoC控制反转:控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。

在spring中 ,它提供了一个容器,叫IoC容器,这个容器就充当“外部”。

IoC容器负责对象的创建和初始化等一系列工作,这些被管理的对象被称为Bean

在原先的演示代码中,我们看到service层是依赖dao对象才能运行的,也就是存在依赖关系,而这些对象都位于IoC容器之中那么我们就可以在IoC中来建立二者之间的关系。

在IoC容器建立Bean与Bean之间的依赖关系的整个过程被称为依赖注入