下面是 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成员对象注入的三种方式详解 - Python技术站