我已经阅读了使用(不使用)DI的原因(参见下面的原因),并提出了一些问题。
在这些情况下,依赖注入是有效的:
- 您需要将配置数据注入一个或多个组件。
- 您需要将相同的依赖项注入多个组件。
- 您需要注入相同依赖项的不同实现。
- 您需要在不同的配置中注入相同的实现。
- 您需要容器提供的一些服务。
醇>如果符合以下条件,依赖注入无效:
- 您永远不需要不同的实现。
- 您永远不需要其他配置。
的的问题: 的
我害怕不理解所有这些,所以如果我错了,我希望你能纠正我。
P.S。 如果您从未需要如上所述的不同实施/配置,有多少次会出现这种情况?
答案 0 :(得分:4)
如果符合以下条件,依赖注入无效:
- 您永远不需要另外的实施。
- 您永远不需要其他配置。
事实并非如此:即使在为静态配置的对象布线时,依赖项注入也很有用。
事实上,你的整个论证都走错了路。支持依赖注入的主要原因是对象的分离和集中关注点:
此外,关键优势是对象生命周期和范围的声明式管理。
此外,Spring IoC容器还增加了许多优势,例如:
......还有更多。
简而言之,基于DI容器执行应用程序意味着您可以专注于您的实际业务逻辑,并将大多数其他问题(在每个应用程序中重复)委托给容器。