我想问一下annotation的好处是啥?
hibernate中用到的annotation其实还好理解,因为持久层相对变更比较少,所以可能比较好的做到一次修改长久可用。
但spring mvc中用到的annotation呢?
1.我发现经常会修改annotation,感觉会不太符合开闭原则~~
2.另外感觉本来抽离的依赖关系又给耦合回去了,比如@Service这个东西就必须要回源代码修改才可以~~
3.把可能发生的代码风险全部都分散到各个类中了,要是xml的话可能更集中一些。以上是我的想法,不知道大家有什么不同看法。

解决方案 »

  1.   

    嘿嘿。不好的,在spring mvc  j_king 不是一样的啊。不要弄错了annotation
      

  2.   

    关注annotation的确有这些缺点,期待高人见解。
      

  3.   

    XML 会分散开发人员的注意力,之前的 Spring MVC 不能使用 Annotation,原来有一个项目光 XML 配置就有 7000 多行,我想这根本就不是人看的,要通过一个 URL 找到那个 Controller 得翻好几个配置文件。虽然我不大会用 Spring,但就我用到的东西来说,比如:JBoss Seam, JMS, EJB 3, JPA, JAX-WS, JAX-RS 等等都是基于 Annotation 的。认为 Annotation 非常好用的人飘过。
      

  4.   


    你不会一个xml文件有7000多行吧?xml文件不是按照模块划分在多个文件中的,这样容易查找和维护
      

  5.   


    当然不是在一个文件里了,但不在一个文件里找起来更费事!XML 虽然说在配置上可以不需要更改代码,但是你现在做过东西中,通过 Spring XML 就能进行维护么?
      

  6.   


    确实,维护时候肯定需要更改源码.不过我是保守派,不是很喜欢注解,顶多在hibernate的pojo映射中使用。。有时间尝试下心的
      

  7.   

    我从来不用annotation,原因如下:
    1:代码就是代码,配置就是配置,代码和配置混在一起,方便倒是方便了,但是逻辑上是混乱的
    2:你改了配置,实际上还是要重新编译成class,而配置虽然说初期比较麻烦,但是对后期维护是比较清晰的,二者工作量实际上相差不大
    3:代码注释和配置混在一起,后期运维很麻烦,代码可读性很差
      

  8.   

    Annotation 并不是配置,不要以 Spring 的 XML bean 配置先入为主了!