📜  Spring – 通过构造函数注入注入字面量(1)

📅  最后修改于: 2023-12-03 15:05:16.639000             🧑  作者: Mango

Spring – 通过构造函数注入注入字面量

在Spring框架中,我们可以通过构造函数注入字面量来注入基本数据类型、字符串和集合等,本文将介绍如何在Spring框架中使用构造函数注入注入字面量。

基本数据类型注入

我们可以把基本数据类型作为构造函数参数来注入。下面的示例中,我们定义了一个包含基本数据类型的Bean,它有两个属性:id 和 age。

public class Student {
    private int id;
    private int age;

    public Student(int id, int age) {
        this.id = id;
        this.age = age;
    }

    // getters and setters
}

使用XML配置文件来配置Bean,注入字面量,将Spring IoC容器初始化。

<bean id="student" class="com.example.Student">
    <constructor-arg value="1001"/>
    <constructor-arg value="18"/>
</bean>

使用配置类来配置Bean,注入字面量,将Spring IoC容器初始化。

@Configuration
public class AppConfig {
    @Bean
    public Student student() {
        return new Student(1001, 18);
    }
}
字符串注入

我们也可以注入字符串。下面的Bean用一个字符串表示姓名。

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    // getter and setter
}

使用XML配置文件来配置Bean,注入字面量,将Spring IoC容器初始化。

<bean id="person" class="com.example.Person">
    <constructor-arg value="Tom"/>
</bean>

使用配置类来配置Bean,注入字面量,将Spring IoC容器初始化。

@Configuration
public class AppConfig {
    @Bean
    public Person person() {
        return new Person("Tom");
    }
}
注入集合

我们也可以注入一个集合。下面的Bean包含一个List属性,它将字符串作为元素。

public class StudentList {
    private List<String> names;

    public StudentList(List<String> names) {
        this.names = names;
    }

    // getter and setter
}

使用XML配置文件来配置Bean,注入字面量,将Spring IoC容器初始化。

<bean id="studentList" class="com.example.StudentList">
    <constructor-arg>
        <list>
            <value>Tony</value>
            <value>Mike</value>
            <value>Lucy</value>
        </list>
    </constructor-arg>
</bean>

使用配置类来配置Bean,注入字面量,将Spring IoC容器初始化。

@Configuration
public class AppConfig {
    @Bean
    public StudentList studentList() {
        List<String> names = Arrays.asList("Tony", "Mike", "Lucy");
        return new StudentList(names);
    }
}
小结

在Spring框架中,除了使用XML配置文件来注入依赖项,我们还可以使用Java配置类来注入依赖项。无论哪种方式,我们都可以使用构造函数注入字面量来注入依赖项。