注解:
注解本身没有意义,单独注解就是一种注释,需要结合别的技术一起使用才有意义。
Java注解(Annotation)又称 Java标注,是 JDK5.0引入的一种注释机制。注解是元数据的一种形式,提供有关于程序但不属于程序本身的数据。注解对它们注解的代码的操作没有直接影响。
与声明一个"Class"不同的是,注解的声明使用@interface关键字。
元注解:
在定义注解时,注解类也能够使用其他的注解声明。
对注解类型进行注解的注解类,我们称之为 meta-annotation(元注解)
@Retention的作用
SOURECE:源码级注解,可提供给IDE语法检查,APT等场景使用
CLSS:编译时注解,保留到class文件,常用语字节码操作【修改class文件】
RUNTIME:运行时注解,能在运行期间结合反射技术获取注解中的所有信息
APT:
全称为:"Anotation Processor Tools",意为注解处理器,用于处理注解。编写好的Java源文件,需要经过 javac 的编译,翻译为虚拟机能够加载解析的字节码Class文件。注解处理器是 javac自带的一个工具,用来在编译时期扫描处理注解信息。你可以为某些注解注册自己的注解处理器。注册的注解处理器由 javac 调起,并将注解信息传递给注解处理器进行处理。