依赖注入的方式
在Spring中,有多种方式可以进行依赖注入,以获取所需的对象实例。以下是常用的依赖注入方式:
- 构造函数注入(Constructor Injection):通过在类的构造函数上使用
@Autowired
注解或者直接在构造函数上声明依赖对象的参数,容器在创建实例时会自动将依赖对象注入到构造函数中。
public class MyClass {
private final Dependency dependency;
public MyClass(Dependency dependency) {
this.dependency = dependency;
}
// other methods...
}
- Setter方法注入(Setter Injection):通过在类中定义设值方法(setter方法),并在方法上使用
@Autowired
注解,容器会在创建实例后自动调用设置方法并注入依赖对象。
public class MyClass {
private Dependency dependency;
@Autowired
public void setDependency(Dependency dependency) {
this.dependency = dependency;
}
// other methods...
}
- 字段注入(Field Injection):通过在类中直接声明依赖对象的字段,并在字段上使用
@Autowired
注解,容器会在创建实例后自动将依赖对象注入到字段中。需要注意的是,字段注入应该谨慎使用,不推荐在应用程序的主要业务逻辑中使用,而应该将其用于简单的配置和测试类中。
public class MyClass {
@Autowired
private Dependency dependency;
// other methods...
}
- 方法注入(Method Injection):通过在类中定义其他方法并在方法上使用
@Autowired
注解,容器会在创建实例后自动调用该方法,并将依赖对象作为参数传递进去进行注入。
public class MyClass {
private Dependency dependency;
@Autowired
public void injectDependency(Dependency dependency) {
this.dependency = dependency;
}
// other methods...
}
标签:依赖,方式,Dependency,Autowired,dependency,public,注入
From: https://www.cnblogs.com/chuimber/p/17718846.html