
Spring 学习笔记(四)—— XML配置依赖注入
发布日期:2021-05-09 06:08:20
浏览次数:16
分类:博客文章
本文共 1634 字,大约阅读时间需要 5 分钟。
依赖注入(DI)与控制反转(IoC)是同一个概念,都是为了处理对象间的依赖关系。
通过DI/IoC容器,相互依赖的对象由容器负责创建和装配,而不是在代码中完成。
Spring支持通过setter方法和构造方法两种方式完成注入。
Setter方法注入
setter方法注入是最常见的一种注入方式。Spring先调用Bean的默认构造函数实例化Bean对象,然后通过反射的方式调用setter方法注入属性值。
与之前的示例相同,可查看前面的笔记。
构造方法注入
如果Bean的属性中有一些是必须赋值的,或者对多个属性的赋值顺序有要求,则使用setter方法注入可能会造成错误。
只能通过人为保证,而使用构造方法注入可以保证IoC容器提供的Bean实例一定是可用的。
示例如下:
public class Order { public String OrderNum; public int id; public double price; public Order(String NO,int id,double price){ this.OrderNum=NO; this.id=id; this.price=price; }}
两种注入方式的区别
对于复杂的依赖关系,如果采用构造方式注入,会导致构造器过于臃肿,难以阅读。尤其是在某些属性可选的情况下,多参数的构造器更加笨重。
构造方法注入可以在构造器中确定依赖关系的注入顺序,当某些属性的赋值操作是由先后顺序时,这点尤为重要。
对于依赖关系无须变化的Bean,构造注入更有用处。
注入值类型
针对注入的值,Spring支持三种类型:字面值、其他Bean的引用、集合类型。
集合支持数组(array)、List(list)、Set(set)、Map(map)、Properties(props)。
示例:
1 2 1 2 22 BB
发表评论
最新留言
不错!
[***.144.177.141]2025年03月27日 06时01分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python大神编程常用4大工具,你用过几个?
2019-03-06
一文带你了解图神经网络
2019-03-06
9个常用ES6特性归纳(一般用这些就够了)
2019-03-06
3D渲染集群,你了解多少?
2019-03-06
华为云FusionInsight湖仓一体解决方案的前世今生
2019-03-06
BootStrapTable 错误
2019-03-06
罗马数字
2019-03-06
IO多路复用小故事
2019-03-06
码云 Pages 搭建
2019-03-06
《论可计算数及其在判定上的应用》简单理解
2019-03-06
中国剩余定理证明过程
2019-03-06
java中Object.equals()简单用法
2019-03-06
poj 2187 Beauty Contest(凸包求解多节点的之间的最大距离)
2019-03-06
程序员的开发文档
2019-03-06
mybatis generator修改默认生成的sql模板
2019-03-06
算法 - 如何从股票买卖中,获得最大收益
2019-03-06
算法 - 链表操作思想 && case
2019-03-06
C#之反射、元数据详解
2019-03-06
通俗易懂设计模式解析——单例模式
2019-03-06
通俗易懂设计模式解析——抽象工厂模式
2019-03-06