Spring成员对象注入的三种方式详解

下面是 Spring 成员对象注入的三种方式的详细攻略:

下面是 Spring 成员对象注入的三种方式的详细攻略:

1. 属性注入

在 Spring 容器中,可以使用 @Autowired 或 @Resource 注解实现属性注入。其中,@Autowired 注解是 Spring 框架的注解,而 @Resource 注解是 JavaEE 的注解,并被 Spring 支持。

1.1 @Autowired 注解

@Autowried 注解可以用于成员变量、构造器、成员方法和属性方法上。

1.1.1 成员变量注入

@Component
public class Person {
    @Autowired
    private Dog dog;
    // ...
}

@Component
public class Dog {
    // ...
}

1.1.2 构造器注入

@Component
public class Person {
    private final Dog dog;

    @Autowired
    public Person(Dog dog) {
        this.dog = dog;
    }
    // ...
}

@Component
public class Dog {
    // ...
}

1.2 @Resource 注解

@Resource 注解可以用于成员变量和构造器上。

1.2.1 成员变量注入

@Component
public class Person {
    @Resource
    private Dog dog;
    // ...
}

@Component
public class Dog {
    // ...
}

1.2.2 构造器注入

@Component
public class Person {
    private final Dog dog;

    @Autowired
    public Person(@Resource Dog dog) {
        this.dog = dog;
    }
    // ...
}

@Component
public class Dog {
    // ...
}

2. 构造器注入

构造器注入是指将依赖对象传入构造器中,从而创建一个完整的对象。

@Component
public class Person {
    private final Dog dog;

    public Person(Dog dog) {
        this.dog = dog;
    }
    // ...
}

@Component
public class Dog {
    // ...
}

3. 方法注入

方法注入是指在 Bean 初始化之后,通过指定特定方法进行注入。

@Component
public class Person {
    private Dog dog;

    public void setDog(Dog dog) {
        this.dog = dog;
    }
    // ...
}

@Component
public class Dog {
    // ...
}

以上就是 Spring 成员对象注入的三种方式。其中属性注入、构造器注入和方法注入可以根据实际应用场景自由选择。

本文标题为:Spring成员对象注入的三种方式详解

基础教程推荐