java注解

1、注解是一种类型
注解与class、interface、Enum这些类型一样,是java中的一种类型,声明的时候使用@interface来声明。
2、元注解
@Retention

SOURCE   在源码向class文件编译时,做一些代码检查
CLASS    class文件向字节码编译时,做预处理(默认值)
RUNTIME  在jvm中运行时,去动态获取注解信息,执行一定的逻辑
  

@Documented

@Target

ElementType.ANNOTATION_TYPE 可以给一个注解进行注解
ElementType.CONSTRUCTOR 可以给构造方法进行注解
ElementType.FIELD 可以给属性进行注解
ElementType.LOCAL_VARIABLE 可以给局部变量进行注解
ElementType.METHOD 可以给方法进行注解
ElementType.PACKAGE 可以给一个包进行注解
ElementType.PARAMETER 可以给一个方法内的参数进行注解
ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举

@Inherited
@Repeatable

3、注解的属性
注解的属性也叫做成员变量。注解只有成员变量,没有方法
注解中所有的成员对象在使用注解时都需要被使用,除了default默认值以外

4、注解提取
反射

  1. 确定该元素是否被注解 isAnnotationPresent
  2. 被注解的话获取到注解的参数值 getAnnotation、getAnnotations与getDeclaredAnnotations
  3. 获取注解对象的属性 getDeclaredFields
    5、常用注解

@AliasFor

上一篇:Spring-Boot


下一篇:同城跨可用区容灾迁移及演练