开发者社区> 问答> 正文

依赖注入(DI)是什么?

已解决

依赖注入(DI)是什么?

展开
收起
dzuv4lze7fhcm 2022-03-31 22:49:11 565 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

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

    依赖注入(Denpendency 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 属性注入的一种,只不过这个属性是一个对象属性而已。

    2022-03-31 22:49:53
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载