Spring—DI——[SSM框架教程]

本文详细介绍了Spring框架中的依赖注入方式,包括setter注入(引用类型和简单类型)、构造器注入(解决形参名问题),以及依赖自动装配(按类型和名称)。还讨论了集合注入的配置。

目录

一、依赖注入方式

1.1Setter注入

setter注入--引用类型

setter注入--简单类型

1.2构造器注入

构造器注入--引用类型

构造器注入--简单类型

解决形参名称的问题,与形参名不耦合

总结:

二、依赖注入方式选择

三、依赖自动装配

3.1按类型注入

3.2按名称注入

3.3依赖自动装配特征

四、集合注入

总结:


一、依赖注入方式

依赖注入方式:

①:setter注入

        *简单类型

        *引用类型

②:构造器注入

        *简单类型

        *引用类型

这里我们先了解一下IoC容器、bean、DI之间的关系

1.1Setter注入

setter注入--引用类型

我们之前的讲解案例都是引用类型,下面我们简单在回顾一下,然后进行简单类型的讲解;

我们之前都是注入一个引用类型,那我们注入多个类型也是可以的

我们只需要再定义引用类型属性并提供可访问的set方法

然后在配置文件中创建需要引用的bean,再将bean注入到需要引用的bean里;

setter注入--简单类型

然后就可以在配置文件中配置它的属性值了,这里需要注意,我们往哪个bean中注入,就往那个bean里面配置

<bean></bean>

<property >

name:名称(这里强调这是形参的名称);ref:引用bean;value:属性值;

运行,查看下结果

1.2构造器注入

构造器注入--引用类型

Setter注入使用的是set方法,而构造器注入使用的是构造方法

配置中也不使用property,使用constructor-arg

构造器注入--简单类型

解决形参名称的问题,与形参名不耦合

这里他<constructor-arg name="databaseName" value="mysql">

这里我们的name是形参,如果我们的形参名发生改变,则我们bean中的配置也需要发生改变,这样耦合度比较高,不符合我们Spring的初衷

Spring的初衷解耦

我们上边都是使用标准的形式进行书写

下边是一些特殊的解决方式,我们最终也是怕构造方法的形参名称发生改变,那我们直接在bean配置中不写name,而通过属性的类型来判断,但是此种方式也有弊端,就是当存在两种类型相同的属性时,就很难分别

下边我们又通过另一种方式来进行,通过位置,来判断,index(),使用位置解决参数匹配;

将第几个参数分配给第几个属性;

总结:

二、依赖注入方式选择

三、依赖自动装配

配置文件中,就不在需要写配置信息,只需要在后边加一个autowire属性,就可以,他有一下集中类型可以选择;

不再使用<bean></bean>

3.1按类型注入

没有装配对象了会报错,因为我们需要将BookDao-bean注入,如果没有则会报错

按类型注入,如果两个同类型,不同名称的装配对象,则也会报错

3.2按名称注入

按名称注入:他会在IoC容器中找与之名称相匹配的bean,如若没有也会报错

推荐使用按类型;

按类型名字也可以不写,但是不推荐,只是做说明,往后还是按标准书写;

3.3依赖自动装配特征

四、集合注入

我们主要了解下书写格式

定义集合类型变量

相对应的set方法

save()方法中打印相对应的集合

总结:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值