请问为什么越来越多的技术偏向于基于注解的实现方式?

注解感觉从代码清晰度上更清晰了,但是感觉还是不如xml配置文件阿,因为要修改元数据要东找西找的,而且要重新编译文件

xml一样要到处查找。等IDE发达了支持注释属性重构了,这些都不是问题。再说编译个文件也不是什么了不得的事。
注释作为jdk5+的语法存在,作为标准存在,都被广泛支持。
xml也是标准,各有所长。
另一私人看法,人都懒,最开始写(sin(x))^2,写多了人一懒,就变成sin^2(x)了。

可是xml可以集中在一个文件里配置,注解要分散到各个类里寻找时哪个类

但是我认为不能从配置是否集中来看问题,像有的IDE对特有注释在它的配置浏览器里可以全部扫描到,这也就不存在到处查找的弱点了。
它们真正的区别我认为有一点是xml与语言无关,而注释限定在某种语言之上。但是这里说的xml不完全是您所指的配置文件意义上的。

但是有这样一个问题,那些配置是给维护人员用的,你开发完了,培训维护人员怎么配置,在文本文件里就很容易学,你不可能要求维护人员学习使用IDE以及怎么编译程序吧

不知您的意思是否是维护时需要开发人员给一个编写好的新实现,再让维护人员将原来的部署替换掉。
如果如此,维护人员确实只要部署替代即可,但是我认为用注释是一样能够实现的,培训如何使用ant,开发人员写个脚本交给他运行就行了。
如果需要维护人员自己编写新的实现并部署,那他当然已经知道应该如何编译了,也就不存在这些问题了。

本站05年就对Annotation注解讨论过,但是jdk5.0刚刚出,现在随着5.0/6普及,大家越来越多开始尝试Java语言的这个新功能,可以理解为尝鲜过程。

http://www.jdon.com/jivejdon/thread/22356.html

现在也有人担心,注解过于复杂就不象Java了。

XML偏重,适合确定需要配置的内容;而注解则轻而灵活,有时为一两个配置专门弄个XML或Property真是麻烦,还要定义XML文件名称和加载位置。

所以 ,重要组件参数可使用XML,运行阶段会变化的用XML。

内聚的可以用注释,反正都是java代码,像db password这种东西的配置还是xml好。

不过注解确实更加方便调试

Tiger只想提供这个可能性, 本意可能是减少"deployment descriptor"之痛...并没想"根治", 彻底替代

某些地方在某些时候用注解方便又合适, 按需选用就是了...


[该贴被vodomore于2008-09-26 09:40修改过]