想要学习框架,学习java的注解最基本的技能,本章简单介绍java元注解,有以下四个

@Retention

  1. ** @Retention注解的使用位置 **
  2. //注解仅存在于源码中,在class字节码文件中不包含
  3. @Retention(RetentionPolicy.SOURCE)
  4. // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得
  5. @Retention(RetentionPolicy.CLASS)
  6. // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
  7. @Retention(RetentionPolicy.RUNTIME)

@Target

  1. ** @Target:注解的作用目标 **
  2. @Target(ElementType.TYPE) //接口、类、枚举、注解
  3. @Target(ElementType.FIELD) //字段、枚举的常量
  4. @Target(ElementType.METHOD) //方法
  5. @Target(ElementType.PARAMETER) //方法参数
  6. @Target(ElementType.CONSTRUCTOR) //构造函数
  7. @Target(ElementType.LOCAL_VARIABLE) //局部变量
  8. @Target(ElementType.ANNOTATION_TYPE)//注解
  9. @Target(ElementType.PACKAGE) //包

@Document

  1. Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的.
  2. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理,
  3. 所以注解类型信息也会被包括在生成的文档中

@Inherited

  1. 1、注解的继承是相对于类而言的,对于接口时无效的
  2. 2、注解只继承父类的类注解,不继承方法注解