什么是依赖注入?

62 java spring dependency-injection

可能重复:
什么是依赖注入?

Spring是依赖注入概念的框架.

DI的目的是什么?它有什么好处?它是如何实现的?

Zak*_*aki 69

这里开始.

另请参阅A-beginners-guide-to-Dependency-Injection.(过时)

在其他地方SO:

  • 基本上,不是让对象创建依赖项或要求工厂对象为它们创建一个依赖项,而是将所需的依赖项传递给构造函数或通过属性设置器,并使其成为别人的问题(依赖关系图中的对象) ,或构建依赖图的依赖注入器).我在这里使用它的依赖是当前对象需要持有引用的任何其他对象. (2认同)

Jus*_*ner 24

DI的目的是什么?

依赖注入的目的是为了降低耦合在你的应用程序,使之更加灵活,更易于测试.

它有什么好处?

对象没有硬编码依赖项.如果您需要更改依赖的实施,所有你需要做的就是注入不同类型的对象.

它是如何实现的?

有各种依赖注入方法.查看Wikipedia文章,查看每个文章的示例.一旦理解了这些,就可以开始研究各种依赖注入框架.

  • 嗨,你能不能告诉我:为什么一堂课依赖另一堂课时难以测试?在这方面已经阅读了很多,我仍然不明白为什么,比方说,A级使用`new`来声明B级会让考试变得困难.首先十分感谢. (2认同)

nkr*_*1pt 12

很短,

DI的目的是什么? 使用依赖项注入时,对象本身不会定义它们的依赖项,而是根据需要将依赖项注入它们.

它有什么好处? 对象不需要知道在何处以及如何获取它们的依赖关系,这导致对象之间的松散耦合,这使得它们更容易测试.

它是如何实现的? 通常,容器根据配置文件或注释管理对象及其依赖关系的生命周期.

  • 嗨,你能不能告诉我:为什么一堂课依赖另一堂课时难以测试?对此已经阅读了很多,我仍然不明白为什么让A级使用`new`来声明B级会使测试变得困难.首先十分感谢. (2认同)