我读过依赖注入(inject)对测试很有用,因为一个类可以在没有依赖项的情况下进行测试,但是我想到了一个问题,如果 A 类依赖于 B 类或 C 类或任何类,测试 A 类独立于某些类(class)的测试结果为零,而不是失败或过去的测试。
创建 A 类是为了做某事,如果它没有提供任何东西,无论是使用新关键字还是在 Spring 中设置额外的文件,A 类都不会做任何工作。
关于使代码模块化、可读和可维护的想法:因此业务类变得更清晰,但我们所做的只是将困惑从肮脏的 Java 业务类转移到复杂的 XML 文件,并且必须删除用于注入(inject)松散对象的接口(interface)。
简而言之,似乎我们必须对某处的文件进行编辑和更改,对吧?
如果我的理解不足,请随时把我放在我的位置上,只是对学习 Spring 有点恼火,因为我看到相同数量的工作只是重新安排。
最佳答案
依赖注入(inject)非常适合单元测试,因为您可以单独测试每个方法,而不需要该方法依赖于其他任何东西。这样每个单元测试都可以准确地测试一种方法。
我会说,如果 xml 令人讨厌,请查看 Spring boot。它基于 java 配置,因此没有 xml,它根据您的类路径为您简化了很多配置。当我第一次开始使用 spring 时,我发现来自 java 背景的 xml 非常令人生畏,但是基于注释的配置和 spring boot 完成的自动配置对于快速让应用程序运行非常有帮助。
关于spring - Java Spring 真的比直接使用 Java 编程更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46438449/