Java Annotation入门 - 编程入门网
Java Annotation入门时间:2011-05-20 blogjava cleverpig摘要: 本文针对java初学者或者annotation初次使用者全面地说明了annotation的使 用方法、定义方式、分类。初学者可以通过以上的说明制作简单的annotation程 序,但是对于一些高级的annotation应用(例如使用自定义annotation生成 javabean映射xml文件)还需要进一步的研究和探讨。涉及到深入annotation的内 容,作者将在后文《Java Annotation高级应用》中谈到。 同时,annotation运行存在两种方式:运行时、编译时。上文中讨论的都是在 运行时的annotation应用,但在编译时的annotation应用还没有涉及, 一、为什么使用Annotation: 在JAVA应用中,我们常遇到一些需要使用模版代码。例如,为了编写一个JAX -RPC web service,我们必须提供一对接口和实现作为模版代码。如果使用 annotation对远程访问的方法代码进行修饰的话,这个模版就能够使用工具自动 生成。 另 外,一些API需要使用与程序代码同时维护的附属文件。例如,JavaBeans 需要一个BeanInfo Class与一个Bean同时使用/维护,而EJB则同样需要一个部署 描述符。此时在程序中使用annotation来维护这些附属文件的信息将十分便利而 且减少了错误。 二、Annotation工作方式: 在5.0 版之前的Java平台已经具有了一些ad hoc annotation机制。比如,使 用transient修饰符来标识一个成员变量在序列化子系统中应被忽略。而 @deprecated这个 javadoc tag也是一个ad hoc annotation用来说明一个方法已 过时。从Java5.0版发布以来,5.0平台提供了一个正式的annotation功能:允许 开发者定义、使用自己的annoatation类型。此功能由一个定义annotation类型的 语法和一个描述annotation声明的语法,读取annotaion 的API,一个使用 annotation修饰的class文件,一个annotation处理工具(apt)组成。 annotation并不直接影响代码语义,但是它能够工作的方式被看作类似程序的 工具或者类库,它会反过来对正在运行的程序语义有所影响。annotation可以从 源文件、class文件或者以在运行时反射的多种方式被读取。 当然annotation在某种程度上使javadoc tag更加完整。一般情况下,如果这 个标记对java文档产生影响或者用于生成java文档的话,它应该作为一个javadoc tag;否则将作为一个annotation。 三、Annotation使用方法: 1。类型声明方式: 通常,应用程序并不是必须定义annotation类型,但是定义annotation类型并 非难事。Annotation类型声明于一般的接口声明极为类似,区别只在于它在 interface关键字前面使用“@”符号。 annotation 类型的每个方法声明定义了一个annotation类型成员,但方法声 明不必有参数或者异常声明;方法返回值的类型被限制在以下的范围: primitives、String、Class、enums、annotation和前面类型的数组;方法可以 有默认值。 下面是一个简单的annotation类型声明: 清单1:
代码中只定义了一个annotation类型RequestForEnhancement。 Java Annotation入门(2)时间:2011-05-20 blogjava cleverpig2。修饰方法的annotation声明方式: annotation 是一种修饰符,能够如其它修饰符(如public、static、final) 一般使用。习惯用法是annotaions用在其它的修饰符前面。 annotations |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |