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

 

上一篇:Spring 学习笔记(六)—— AOP的简单理解
下一篇:Spring 学习笔记(三)——IoC容器(ApplicationContext)

发表评论

最新留言

不错!
[***.144.177.141]2025年03月27日 06时01分33秒