0

Spring MVC 主要使用注解来配置它的控制器,据我所知,在 Spring 中配置控制器的唯一方法没有注解(只有 XML)是扩展 AbstracController(或类似的控制器类),目前所有这些类都被 Spring 弃用3.

虽然我认为放弃对此类的支持是个好主意,主要是因为扩展此类会创建几乎不依赖 Spring 作为依赖项的控制器,但我不明白为什么 Spring 不提供类似 Struts Actions 的配置(Actions in Struts 2 没有扩展任何奇怪的类,所以它们没有 Struts 的任何依赖)

为什么 Spring MVC 没有通过 XML 提供像 Struts 2 Actions 这样的干净 POJO 样式的配置?

为什么要使用丑陋的注释在 MVC 上放弃对 XML 配置的支持?为什么不把它放到所有 Spring Proyects 中呢?

4

1 回答 1

5

XML/POJO 方法的主要问题是无法通过查看代码来判断正在发生的特殊魔法。

而不是看到

@SomeAnnotation   <<-- Oh, golly there is something special happening here.
java code... 

你看

Java code    <<-- special magic hidden in XML file (or not, no way to tell)
             <<-- are these linked? no idea..
             <<-- is something going on? let me go and search....

如果源代码发生更改,XML 可能(也可能不会)不同步。

使用注解可以同时更新java代码和spring注解。
是的,它很混乱,但至少很容易同步两者。

当注释出现在您的脸上时,它们很难理解。如果它们甚至不可见,那么对于我们这些不生气的开发人员来说,精神负担真的太大了。

为什么不把它放到所有的 Spring Projects 中呢?

不会很甜吧。。。。

使用丑陋的注解?

显然问题已经被问到了:有没有办法在 Eclipse 中隐藏注释?
答案是:https
://stackoverflow.com/a/2569646/650492 有点……这有帮助吗?

于 2013-10-10T03:03:57.173 回答