欢迎来到天天文库
浏览记录
ID:39551561
大小:52.50 KB
页数:13页
时间:2019-07-06
《Java_Annotation入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JavaAnnotation入门收藏 在开发Java代码的时候,我们总是习惯于利用注释来表达代码中无法放置的一些东西,其中一些内容被JavaDoc用来产生帮助文档。只有帮助文档还是不够的,在越来越多的情况下,注释中的标记用来表达更多的含义。例如,在使用了xDoclet工具的项目中,特殊用途的各种xDoclet标记用于生成新的代码和对应的配置文件,Hibernate也是借助于@hibernate开头的xDocle来生成代码和文件的。在更多的情况下,单纯在代码中利用注释部分添加标记的做法也显得不够用了,这时候我们通常会
2、使用Java的属性文件或一个在名称或配置上相对应的XML文件来增加描述的能力。在Hiberanate中,使用了与名称相对应的hbm映射文件。这些方式一方面使部分重复的工作自动化了,另一方面也使程序员的维护负担加重了。原本只需要专注于代码的工作被不同类型的标记和配置文件分了,而且一个项目中往往要同时照顾各种的文件。 J2SE5.0增加的元数据功能使我们可以不必再把那些感兴趣的信息放在带“*“的注释后面藏起来了。元数据实际上是在代码中添加注释的方法。J2SE5.O给出了一些注释,但更重要的是J2SE5.0设计支持了一种新
3、的类型:注释(Annotation)。开发者可以自己开发实现自己需求的注释,然后支持其他程序在代码中使用这些注释,利用注释,程序员可以把标准化的信息公开地写在代码中。J2SE5.0的元数据目前为各种开发标准所支持,例如EJB3.o标准就是完全基于J2SE5.0的元数据功能的。一改EJB2.1之前版本的复杂性,利用元数据使开发过程简捷了,代码也易读了很多。上面这两段引用<<精通Hibernate>>看来在Java编程方面一个新的趋势是使用元数据。简单地说,元数据就是关于数据的数据。元数据可以用于创建文档,跟踪代码中的依
4、赖性,甚至执行基本编译时检查。许多元数据工具,如开源工具XDoclet,这些功能已经添加到了核心Java语言中。现在关于这方面的资料网上还是不少啊,感觉下面转载的cleverpig的这篇文章对于刚接触JDK5.0新特性Annotation是个很好的入门,感谢作者为我们提供了这么好的学习资料。(转载)摘要:本文针对java初学者或者annotation初次使用者全面地说明了annotation的使用方法、定义方式、分类。初学者可以通过以上的说明制作简单的annotation程序,但是对于一些高级的annotation应
5、用(例如使用自定义annotation生成javabean映射xml文件)还需要进一步的研究和探讨。涉及到深入annotation的内容,作者将在后文《JavaAnnotation高级应用》中谈到。同时,annotation运行存在两种方式:运行时、编译时。上文中讨论的都是在运行时的annotation应用,但在编译时的annotation应用还没有涉及,一、为什么使用Annotation:在JAVA应用中,我们常遇到一些需要使用模版代码。例如,为了编写一个JAX-RPCwebservice,我们必须提供一对接口和实
6、现作为模版代码。如果使用annotation对远程访问的方法代码进行修饰的话,这个模版就能够使用工具自动生成。另外,一些API需要使用与程序代码同时维护的附属文件。例如,JavaBeans需要一个BeanInfoClass与一个Bean同时使用/维护,而EJB则同样需要一个部署描述符。此时在程序中使用annotation来维护这些附属文件的信息将十分便利而且减少了错误。二、Annotation工作方式:在5.0版之前的Java平台已经具有了一些adhocannotation机制。比如,使用transient修饰符来标
7、识一个成员变量在序列化子系统中应被忽略。而@deprecated这个javadoctag也是一个adhocannotation用来说明一个方法已过时。从Java5.0版发布以来,5.0平台提供了一个正式的annotation功能:允许开发者定义、使用自己的annoatation类型。此功能由一个定义annotation类型的语法和一个描述annotation声明的语法,读取annotaion的API,一个使用annotation修饰的class文件,一个annotation处理工具(apt)组成。annotation
8、并不直接影响代码语义,但是它能够工作的方式被看作类似程序的工具或者类库,它会反过来对正在运行的程序语义有所影响。annotation可以从源文件、class文件或者以在运行时反射的多种方式被读取。当然annotation在某种程度上使javadoctag更加完整。一般情况下,如果这个标记对java文档产生影响或者用于生成java文档的话,它应该
此文档下载收益归作者所有