Spring依赖注入解决了什么?

fre*_*red 9 java spring dependency-injection inversion-of-control

请参阅此问题的最佳答案:Spring Framework究竟是什么?

我不知道问题是什么,以及为什么Spring指定在XML文件中使用接口的实现(或使用注释)的解决方案比简单地让一行代码实例化正确的接口更好?

编辑:正如我在其中一篇评论中写的那样,我真的想要了解其中的好处.我想了解为什么Spring很有用.我不是主张不使用Spring或试图提供理由而不是,我正在寻找原因,并试图理解为什么应该使用它.这篇文章并不是为了鼓励辩论,而是为了直截了当和技术性的答案.我现在选择最短和最具说明性的答案作为正确的答案.我必须说这个问题已经结束我有点惊讶.

mil*_*lan 5

如果类A使用类B,则DI负责向类A提供类B.它通常用于测试Spring将提供不同的B类(例如mock).

当然,你可以自己完成所有这些工作,但是如果你让Spring(或任何其他DI框架)为你做这件事,那通常就不那么重要了.