元注解:在定义注解 (Auth)类时使用了另一个注解类(Inherited、Target、Retention),那么被使用的注解类就称为元注解。
@Inherited注解
被 @Inherited 注解修饰的注解,如果作用于某个类上,其子类是可以继承的该注解的。反之,如果一个注解没有被 @Inherited注解所修饰,那么他的作用范围只能是当前类,其子类是不能被继承的。
@Target
Target注解决定Auth注解可以加在哪些成分上:类上、属性上、方法上等
@Retention
Retention注解决定 Auth注解的生命周期
@Retention(RetentionPolicy.SOURCE)
这个注解的意思是让Auth注解在Java源文件中存在,编译成.class文件后注解就不存在了
@Retention(RetentionPolicy.CLASS)
这个注解的意思是让Auth注解在Java源文件(.java文件)中存在,编译成.class文件后注解还存在,被Auth注解类标识的类被类加载器加在到内存中后Auth注解就不存在了。