为什么Spring注释控制器优于传统映射?

eth*_*ros 7 java spring annotations

据我了解,Spring中带注释的控制器有两个主要好处:

  1. 消除了扩展基类/实现接口的需要.
  2. 消除了另一个配置文件.

然而,这似乎带来两个主要缺点:

  1. 与使用类扩展/实现相比,使用注释时框架和控制器之间的耦合似乎更紧密.
  2. 包含映射的单个文件似乎更容易维护,而不是在寻找注释的多个文件中挖掘代码.

虽然我个人认为上述缺点超过了益处,但注释的使用似乎更受欢迎.这让我想到了一个问题:为什么Spring注释控制器优于传统映射?

编辑关于耦合:

我意识到在这两种情况下都与所涉及的底层框架有一些耦合.ControllerSpring所需的接口由单个方法组成,并且可以大部分被抽象出来(例如interface MyController extends SpringController).另一方面,注释除了特定于框架之外,还需要在每个文件中进行大量导入.

JOT*_*OTN 1

我不认为单个文件更容易维护。我发现的一个重要问题是注释允许您在多个项目中使用对象,并且它们会带来配置。我不必编辑源代码,然后记住使用它的每个项目并修复其配置文件。它创建了一种更加模块化的思维和开发方式。