spring依赖注入

spring依赖注入

IOC作用:

降低程序间依赖关系 (耦合)

依赖注入:

能注入的数据有三类

​ 1. 基本类型和string

​ 2. 其他bean类型(在配置文件中或者注解配置过的bean)

​ 3. 复杂类型/集合类型

注入方式:通过xml配置文件

1. 构造函数注入

**使用标签:**constructor-arg

**标签出现的位置:**bean标签内部

标签中的属性:

​ 1. **type :**用于指定要注入数据的数据类型,该数据类型是构造函数中某个或某些参数的类型

​ 2. **index:**用于指定要注入数据 给构造函数中指定索引位置的参数赋值 索引的位置从0开始

​ 3. **name:**用于给构造函数中的指定名称的参数赋值 (常用)

​ =以上三个应用于指定构造函数中的哪个参数赋值======

​ 4. **value:**用于提供基本类型和string类型的数据

​ 5. **ref:**用于指定其他bean类型的数据 (在spring的ioc核心容器中出现过的bean)

**优势:**获取bean对象时候,注入数据是必须的操作,否则对象无法创建成功

**弊端:**改变了实例化的方式,用不到的数据也必须提供。

2. Set注入

**使用标签:**property

标签出现的位置:bean标签内部

标签中的属性:

	1. **name**:用于指定注入时所调用的set方法的名称
	2. **value**:用于指定基本类型或者String类型的注入数据
	3. **ref:**用于指定其他Bean类型的注入数据(在IOC容器当中的bean)

**优势:**创建对象的时候没有明确的限制,可以使用默认的构造函数

**弊端:**如果某个成员变量必须有值,则获取对象时候可能没有执行到set方法

3. 复杂类型/复合类型的注入
  1. 用于给List结构注入的标签:

    <list> <array> <set>

  2. 用于给map结构注入的标签:

    <props> <map>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值