Spring MVC主要使用注释来配置其控制器,据我所知,在Spring中配置Controller而没有Annotions(只有XML)的唯一方法是扩展AbstracController(或类似的Controller类),目前所有这些类都是对于Spring 3已弃用。
虽然我认为放弃对这个类的支持是一个好主意,主要是因为扩展这个类会创建几乎不依赖Spring作为依赖的控制器,我不明白为什么Spring不提供类似Struts Actions的配置(Struts 2中的操作不会扩展任何奇怪的类,因此它们不具有Struts的任何依赖性)
为什么Spring MVC不能通过XML提供像Struts 2 Actions这样干净的POJO样式配置?
为什么要使用丑陋的注释放弃对MVC上的XML配置的支持?为什么不把它放在所有Spring Proyects中呢?
答案 0 :(得分: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项目呢?
那不是那么甜蜜......
使用丑陋的注释?
显然有问题:Is there a way to hide annotations in Eclipse?
答案是:https://stackoverflow.com/a/2569646/650492
有点......这有帮助吗?