【发布时间】:2012-03-17 17:45:18
【问题描述】:
我了解方法,但似乎无法正式定义定义。
众所周知,DI 可以通过构造函数、setter 或接口来完成。 我对最新的基于单接口的 DI 感到困惑,它是在 Spring 中使用的吗?
更新:我在这里给出了不好的例子,导致理解错误。
修复它:
假设我们有 setter,并且在 setter 中我们注入由某个类实现的接口。这是否被认为是通过 setter 或接口进行的 DI?
http://martinfowler.com/articles/injection.html#UsingAServiceLocator 本文将 DI 划分为:
“依赖注入主要有三种风格。我为它们使用的名称是构造函数注入、设置器注入和接口注入。如果你在当前关于控制反转的讨论中读到这些东西,你会听到这些被称为 1 型 IoC(接口注入)、2 型 IoC(setter 注入)和 3 型 IoC(构造函数注入)。我发现数字名称很难记住,这就是我在这里使用这些名称的原因。 "
用于 IoC 的其他服务定位器模式,它是真正使@Autowired 成为可能的模式吗? - 即并非所有类都需要在 xml 中为 DI 显式声明,因为如果我没记错的话,我们可以再次将它们声明为 @Repository 或 @Controller 或类似名称。
谢谢,
【问题讨论】:
标签: spring dependency-injection