依赖注入(DI)

服务器

  #挑战31天抄书打卡#

  依赖注入(DI)

  在了解了 IoC 之后,我们还需要了解另外一个非常重要的概念:依赖注入。

  依赖注入(Denpency Injection,简写为 DI)是 Martin Fowler 在 2004 年在对“控制反转”进行解释时提出的。Martin Fowler 认为“控制反转”一词很晦涩,无法让人很直接的理解“到底是哪里反转了”,因此他建议使用“依赖注入”来代替“控制反转”。

  在面向对象中,对象和对象之间是存在一种叫做“依赖”的关系。简单来说,依赖关系就是在一个对象中需要用到另外一个对象,即对象中存在一个属性,该属性是另外一个类的对象。

  例如,有一个名为 B 的 Java 类,它的代码如下。

  public class B {

  String bid;

  A a;

  }

  从代码可以看出,B 中存在一个 A 类型的对象属性 a,此时我们就可以说 B 的对象依赖于对象 a。而依赖注入就是就是基于这种“依赖关系”而产生的。

  我们知道,控制反转核心思想就是由 Spring 负责对象的创建。在对象创建过程中,Spring 会自动根据依赖关系,将它依赖的对象注入到当前对象中,这就是所谓的“依赖注入”。

  依赖注入本质上是 Spring Bean 属性注入的一种,只不过这个属性是一个对象属性而已。

标签: 服务器