元注解
常用的元注解有:@Target、@Retention、@Documented、@Inherited 、@Repeatable
@Target
当一个注解被 @Target 注解时,指定使用的范围,开发中将注解用在类上(如@Controller)、字段上(如@Autowired)、方法上(如@RequestMapping)、方法的参数上(如@RequestParam)等比较常见
@Retention 存活时间
注解的生命周期,用于定义注解的存活阶段,可以存活在源码级别、编译级别(字节码级别)、运行时级别
@Documented
它的作用是能够将注解中的元素包含到 Javadoc 中去
@Inherited 注解继承
允许子类继承父类中的注解,可以通过反射获取到父类的注解
@Repeatable
@Repeatable注解表明标记的注解可以多次应用于相同的声明或类型,此注解由Java SE 8版本引入。
自定义注解
@Documented
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface SignatureAnnotation {
boolean isSignature() default false;
}