老虎身上的斑纹---正确使用JAVA1.5里的Annotation

来源:互联网 发布:做淘宝运营发展前景 编辑:程序博客网 时间:2024/06/11 09:56

像很多喜欢技术的人那样,当听闻JDK1.5引入了.NET那样的ANNOTATION时,我的第一反应就是惊喜--再也不用为在代码中插入XDOC而感到别扭了。

接下来就是搜肠刮肚地想要把以往那些可以用标签来实现的代码剔除掉而换以标签方式的实现,就像得到了一个涡轮增压的发动机急着想要淘汰掉老式的N/A引擎。但是由于比较忙~加之本人较懒,竟数月未曾做此尝试。

而在Java社区,对于这个新的JAVA特性的褒贬也纷至沓来。其中TheServside网站上几个牛人的观点还是比较中肯的,我也比较认同:首先,应用=逻辑+数据,逻辑最主要的构成就是代码,但是光是代码还不够,还要加上配置。这就像同是丰田的发动机和意大利设计的外形,不同的排量和组装,一个就是法拉利,一个就是东南菱帅。Annotation就是属于配置范畴的概念。

既然如此,那么XML与Annotation哪种配置方式更适合呢?这就像说.NET和JAVA哪个好一样没意义,要具体情况具体分析(说了等于没说:p)。

一般说来,与个别具体类相关的,用Annotation;设计时,而运行期不怎么改的配置,用Annotation,反之,经常需要改的用XML;属于类反射信息的,用Annotation,例如某些private static型变量;在概念范围上有明确定义或专属作用的,一般用XML;需要统一管理的,数量庞大的配置,用XML;

最后可以归结为:XML更像是配置。而Annotation,本身也是某种不可运行的特殊代码参与代码本身的逻辑;或者是类的自描述,是类本身的构成要素。

但是,很多情况并不是非此即彼,很多灰色地带就需要个人再去依情况使用。

参考阅读

http://blog.csdn.net/chenyun2000/archive/2005/02/05/281824.aspx (对Annotation概括的说明,读者可以从中得到如何利用Annotation的一点启发)

http://www.21tx.com/dev/2005/02/01/12514.html