美文网首页
Java 注解

Java 注解

作者: markeNick | 来源:发表于2020-05-23 00:03 被阅读0次

元注解(meta-annotation)


元注解的作用就是负责注解其他注解,Java定义了四个标准的meta-annotation类型,他们被用来提供对其他annotation类型作说明,这些类型和他们所支持的类在java.lang.annotation包中可以找到。

  • @Target:用于描述注解的使用范围
  • @Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(source class runtime)
  • @Document:说明该注解将被包含在javadoc中
  • @Inherited:说明子类可以继承父类中的该注解

基于上面这四个元注解,我们可以进行自定义注解开发。

.

@Target 注解

作用:描述注解的使用范围

这个@Target注解有一个value值,其类型是一个枚举数组,ElementType枚举中定义了取值范围。

使用@Target需要传入一个范围取值,value可以有多个值,如:

@Target(value = ElementType.TYPE)@Target(ElementType.TYPE, ElementType.METHOD)

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {

    ElementType[] value();
}

public enum ElementType {
 
    TYPE, // 类、接口、枚举类
 
    FIELD, // 成员变量(包括:枚举常量)
 
    METHOD, // 成员方法
 
    PARAMETER, // 方法参数
 
    CONSTRUCTOR, // 构造方法
 
    LOCAL_VARIABLE, // 局部变量
 
    ANNOTATION_TYPE, // 注解类
 
    PACKAGE, // 可用于修饰:包
 
    TYPE_PARAMETER, // 类型参数,JDK 1.8 新增
 
    TYPE_USE // 使用类型的任何地方,JDK 1.8 新增
 
}

.

@Retention 注解

作用:描述注解保留的时间范围。

其使用和 @Target 类似

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
    
    RetentionPolicy value();
}

public enum RetentionPolicy {
 
    SOURCE,    // 源文件保留
    CLASS,     // 编译期保留,默认值
    RUNTIME    // 运行期保留,可通过反射去获取注解信息
}

.

利用反射操作注解

相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解

    Java注解(Annotation)详解(一)——概述及JDK自带注解 Java注解(Annotation)详解(...

  • JAVA-注解 Annotation

    JAVA-注解 Annotation sschrodinger 2018/6/4 基本 注解 Java 注解用于为...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

网友评论

      本文标题:Java 注解

      本文链接:https://www.haomeiwen.com/subject/cevhahtx.html