Spring(七):di依赖注入

Spring(七):di依赖注入

一、什么是DI依赖注入

依赖关系注入 (DI) 是一个过程,通过该过程,对象仅通过构造函数参数、工厂方法的参数或在构造对象实例或从工厂方法返回后在对象实例上设置的属性来定义其依赖关系(即,使

用它们使用的其他对象)。然后,容器在创建 Bean 时注入这些依赖项。这个过程基本上是Bean本身的反函数(因此得名“控制反转”),通过使用类的直接构造或服务定位器模式来控制

其依赖项的实例化或位置。

使用 DI 原则,代码更清晰,当对象与其依赖项一起提供时,解耦更有效。该对象不查找其依赖项,也不知道依赖项的位置或类。

二、依赖注入的方式

依赖注入有三种方式:基于构造函数的依赖关系注入、利用set方法的依赖关系注入、其他的依赖关系注入。

1.基于构造函数的依赖关系注入

这个在Spring(五)的学习中已经是说过了,这里仅再简单叙述一下构造函数注入的方式。

(1)通过index索引进行注入,索引从0开始。

(2)通过传入参数名进行注入,最方便。

(3)通过传参的类型进行注入,不适用于有同类型的情况。

(4)通过bean进行注入。

2.利用set方法的依赖关系注入

通过set方法进行依赖注入是最核心的注入方式。

这个前面的学习也已经用到了,不过前面注入的都是一些简单的基本类型和String类型,这里我们再对一些复杂的类型如List、Map等进行注入方法的学习。

(1)Student和Address是我们要用到的类

Address

package com.jms.pojo;

public class Address {
    private int id;
    private String address;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Address{" +
                "id=" + id +
                ", address="" + address + """ +
                "}";
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Spring(七):di依赖注入