在Spring框架中,主要有两种依赖注入方式:基于构造函数、基于setter方法
1.基于构造函数
基于构造函数的DI(依赖注入)是通过调用具有多个参数的的构造函数的额容器来完成的,每个参数表示依赖关系,下面演示一个只能使用构造函数注入的依赖注入的类,该类时一个POJO,并不依赖一容器特定的接口、基类或者注解。
public class SimpleOrderListener {
//SimpleOrderListener依赖于OrderFinder
private OrderFinder orderFinder;
//Spring容器可以通过构造器来注入OrderFinder
public SimpleOrderListener(OrderFinder orderFinder) {
super();
this.orderFinder = orderFinder;
}
}
2.基于setter方式的注入
基于setter方法的DI(依赖注入)是通过通过调用无参数构造函数或者无参数静态工厂方法来实例化bean之后,通过bean的setter方法完成,以下演示一个只能使用setter来依赖注入进行注入的类,该类一个POJO,并不依赖一容器特定的接口、基类或者注解。
public class SimpleOrderListener {
//SimpleOrderListener依赖于OrderFinder
private OrderFinder orderFinder;
//Spring容器可以通过setter来注入OrderFinder
public void setOrderFinder(OrderFinder orderFinder) {
this.orderFinder = orderFinder;
}
}