IOC容器与DI依赖注入示例

IOC容器与DI依赖注入示例

IOC深入理解

我们先通过几个问题来加深一下对IOC的理解

  • (1)Spring是使用IOC容器来管理bean对象的,我们主要管理什么?

主要管理项目中所使用到的类对象,比如(Service层对像和Dao层对象)

  • (2)如何将被管理的对象告知IOC容器?

使用配置文件
Spring配置文件

  • (3)被管理的对象交给IOC容器,要想从容器中获取对象,我们如何获取到IOC容器?

Spring框架提供相应的接口

  • (4)IOC容器得到后,如何从容器中获取bean?

调用Spring框架提供对应接口中的方法

  • (5)使用Spring导入哪些坐标?

用别人的东西,就需要在pom.xml添加对应的依赖

IOC示例:

接下来我们完整的来熟悉一下流程:

1、首先我们需要导入Spring依赖,使其变成Spring项目

引入Spring

2、创建配置文件并配置Bean

配置bean

3、主程序中便可引用
使用

我们之前说过充分解耦的结果是使业务层中不在保留数据层对象,但是很明显,我们的代码依然在service层中new了dao层对象如下图所示,下面我们就通过DI解决完成完全解耦。
不完全解耦

DI深入理解

要想实现依赖注入,必须要基于IOC管理Bean

-(1)Service中使用new形式创建的Dao对象是否保留?

需要删除掉,最终要使用IOC容器中的bean对象

  • (2)Service中需要的Dao对象如何进入到Service中?

在Service中提供方法,让Spring的IOC容器可以通过该方法传入bean对象

  • (4)Service与Dao间的关系如何描述?

同样使用配置文件

DI示例

1、删除service层中new的dao层对象并在service层中提供相应的set方法

这一步相当于删掉业务层的dao对象并告诉service层需要的dao对象该如何获取(通过set方法),结束时,我们还不知道二者关系,需要利用配置文件建立关系
修改service层

2、修改配置文件建立service层与dao层的关系

配置修改

文章提及代码压缩包资源

猜你喜欢

转载自blog.csdn.net/weixin_45696320/article/details/130178983