spring 注入属性

79 阅读1分钟

在 Spring 中,属性注入和依赖注入(Dependency Injection)是非常重要的概念。属性注入用于将一个对象的属性或字段设置为特定的值或引用,而依赖注入则是将一个对象所依赖的其他对象传递进来。

属性注入

构造器注入

使用构造器方法可以将其中需要注入的属性或者依赖对象作为参数,Spring 负责实例化 Bean 并将其传入:

public class ExampleBean {

private final int years;

private final String ultimateAnswer;
private final ExampleDependency exampleDependency;

public ExampleBean(int years, String ultimateAnswer, ExampleDependency exampleDependency) {
    this.years = years;
    this.ultimateAnswer = ultimateAnswer;
    this.exampleDependency = exampleDependency;
}

}

Setter 方法注入

如下所示,可以使用 Setter 方法的名称将需要注入的属性或依赖对象命名,Spring 会调用这些 Setter 方法并传入指定的值或对象: public class ExampleBean {

private int years;

private String ultimateAnswer;

private ExampleDependency exampleDependency;

public void setYears(int years) {
    this.years = years;
}

public void setUltimateAnswer(String ultimateAnswer) {
    this.ultimateAnswer = ultimateAnswer;
}

public void setExampleDependency(ExampleDependency exampleDependency) {
    this.exampleDependency = exampleDependency;
}

}

字段注入

还可以直接将属性或依赖对象标记为自动装配(Autowired),使 Spring 基于类型或名称自动设置:

public class ExampleBean { @Autowired private ExampleDependency exampleDependency;

private int years;
private String ultimateAnswer;

}