依赖注入的实现方式

1.构造方法注入

顾名思义,构造方法注入,就是被注入对象可以通过在其构造方法中声明依赖对象的参数列表,让外部(通常是IoC容器)知道它需要哪些依赖对象。

IoC Service Provider 会检查被注入对象的构造方法,取得它所需要的依赖对象列表,进而为其注入相应的对象。同一个对象是不可能被构造两次的,因此,被注入对象的构造乃至其整个生命周期,应该是由IoC Service Provider 来管理的。

构造方法注入方式比较直观,对象被构造完成后,即进入就绪状态,可以马上使用。

2.setter 方法注入

当前对象只要为其依赖对象所对应的属性添加setter方法,就可以通过setter方法将相应的依赖对象设置到被注入对象中。

setter方法注入虽不像构造方法注入那样,让对象构造完成后即可使用,当相对来说更宽松一些,可以在对象构造完成后再注入。

原文地址:https://www.cnblogs.com/minisculestep/p/5000932.html