????注解(也称之为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们尅在稍后某个时刻非常方便地使用这些数据。
??????注解在一定程度上是把元数据和源代码文件结合在一起,而不是保存在外部文档中。
?????元注解:就是注解的注解。如 @Target和@Retention.
????? @Target用来定义你的注解将应用在什么地方
类型 | 含义 |
TYPE | 类,接口、枚举 |
FIELD | 属性 |
METHOD | 方法 |
PARAMETER | 参数 |
CONSTRUCTOR | 构造方法 |
LOCAL_VARIABLE | 局部变量 |
ANNOTATION_TYPE | 注解类型 |
PACKAGE | 包 |
? | ? |
? | ? |
?
? @Retention用来定义该注解在哪一个级别可用,在源代码中(SOURCE)类文件中(CLASS)或者运行时(RUNTIME)
?? @Documnet?将次注解包含在Javadoc中
?? @Inherited?允许子类继承父类的注解
?
????在注解中,一般都会包含一些元素以表示某些值。当分析处理注解时,程序或工具可以使用这些值。没有元素的注解称之为标记注解。
?
/** * 简单的RPC协议的方法的注解 * @author zhangwei_david * @version $Id: STRService.java, v 0.1 2014年12月31日 下午4:33:14 zhangwei_david Exp $ */ @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Component public @interface RpcService { String value() default ""; Class<?> inf(); }
?
原文:http://zhangwei-david.iteye.com/blog/2172151