这类依赖注解库。代码示例如下:
可以看出通过注解,我们能大量减少啰嗦的声明和强转类型的代码的编写。
通过本篇文章的学习,对注解有个基本的认识和了解。
注解(也叫元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。
1.可以提供用来完整地描述程序所需的信息(这些信息无法用java表达)-> 以将由编译器来测试和验证的格式存储有关程序的额外信息。
2.可以用来生成描述符文件或是新的类的定义->减轻编写"样板"代码的负担
3.更加干净易读的代码以及编译器类型检查
@符号的使用,其他和java固有语法一样
java se5内置了三种,定义在java.lang中的注解:
@override 当前的方法定义将覆盖父类(超类)中的方法。 @suppresswarnings 关闭不当的编译器警告信息
java提供四种注解,专门负责新注解的创建。这种注解叫做元注解。
1.@target 表示该注解可以用于什么地方。
elementtype参数包括:
2.@retention 表示需要在什么级别保存该注解信息。
retentionpolicy参数包括
3.@documented 将此注解包含在javadoc中
4.@inherited 允许子类继承父类中的注解
注解的定义很像一个空的接口。定义注解时,会需要一些元注解(meta-annotation,如上所示)
在注解中,一般都会包含一些元素以表示某些值。分析处理注解时,程序或工具可以利用这些值。
注解的元素看起来就像接口的方法,唯一的区别是可以为它设置默认值。
注解的元素在使用时表现为名-值对的形式。
每当创建描述符性质的类或接口时,如果包含了重复性的工作,就可以考虑使用注解来简化与自动化该过程。
使用注解很重要的一部分就是创建与使用注解处理器。java se5拓展了反射机制的api(构造这类工具),还提供了外部工具apt帮助我们解析带有注解的java源代码。
使用了两个反射的方法:getdeclaredmethods()和getannotation()(这两个方法都属于annotatedelement接口,class,method和field等类都实现了这个接口)
注解元素可用的类型如下:
编译器对元素的默认值有限制。
不能有不确定的值
(即要么具有默认值,要么使用注解时提供的元素的值)
原文地址:http://www.cnblogs.com/johntsai/p/4926203.html