Sring Di依赖注入

DI



依赖注入方式

1.setter注入

简单类型和引用类型
引用类型
在bean中定义引用类型属性并提供访问的set方法
在这里插入图片描述
配置中使用property标签ref属性注入引用类型对象
在这里插入图片描述
简单类型
在bean中定义引用类型属性并提供可访问的set方法
在这里插入图片描述
配置中使用property标签value属性注入简单类型数据
在这里插入图片描述

2.构造方式注入

简单类型和引用类型
引用类型
在bean中定义引用类型属性并提供可访问的构造方法
在这里插入图片描述

配置中使用constructor-arg标签ref属性注入简单类型数据
在这里插入图片描述

简单类型
在bean中定义引用类型属性并提供可访问的构造方法
在这里插入图片描述

配置中使用constructor-arg标签value属性注入简单类型数据
在这里插入图片描述
参数适配:
1.配置中使用constructor-arg标签type属性设置按形参类型注入
2.配置中使用constructor-arg标签index属性设置按形参位置注入

依赖注入方式选择

1.强制依赖使用构造器进行,使用setter注入有概率不进行注入导致null对象出现
2.可选依赖使用setter注入进行,灵活性强
3.Spring框架倡导使用构造器,第三方框架内部大多数采用构造器注入的形式进行数据初始化,相对严谨
4.如果有必要可以两者同时进行,使用构造器注入完成强制依赖的注入,使用setter注入完成可选依赖的注入
5.实际使用需根据实际情况分析,如果受控对象没有提供setter方法就必须使用构造器注入
6.无要求推荐使用setter注入

依赖自动装配

概念

IOC容器根据bean所依赖的资源在容器中自动查找并注入到bean的过程称为自动装配

方式

配置中使用bean标签autowire属性设置自动装配的类型
按类型:byType
必须保障容器中相同类型的bean唯一,推荐使用
按名称:
byName必须保障容器中具有指定名称的bean,因变量名与配置耦合,不推荐使用
自动装配:
自动装配优先级低于setter注入与构造器注入,同时出现时自动装配配置失效
按构造方法
不启用自动装配

集合注入

1.注入数组类型数据

在这里插入图片描述

2.注入List类型数据

在这里插入图片描述

3.注入Set类型数据

在这里插入图片描述

4.注入Map类型数据

在这里插入图片描述

5.注入properties类型数据

在这里插入图片描述
注:property标签表示setter方式注入,构造方式注入constructor-arg标签内部也可以写<array>、<list>、<set>、<map>、<props>标签

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值