美文网首页
Spring 注解@Target @Retention @Doc

Spring 注解@Target @Retention @Doc

作者: 张文超ai | 来源:发表于2019-06-04 13:24 被阅读0次
    @Target({ ElementType.PARAMETER, ElementType.METHOD })
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    public @interface SystemLog {
        boolean value() default true;
    }

Retention注解
Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值:

1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略
2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略
3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.

下面示例中, @Retention(RetentionPolicy.RUNTIME)注解表明 Test_Retention注解将会由虚拟机保留,以便它可以在运行时通过反射读取.
Documented 注解
Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中.(个人观点:不是重点,了解即可。勿喷)
Target注解
@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。
作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
取值(ElementType)有:

1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

Inherited 注解
这是一个稍微复杂的注解类型. 它指明被注解的类会自动继承. 更具体地说,如果定义注解时使用了 @Inherited 标记,然后用定义的注解来标注另一个父类, 父类又有一个子类(subclass),则父类的所有属性将被继承到它的子类中.

作者:氨基钠
链接:https://www.jianshu.com/p/8738ce6bd771
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

  • Spring 注解@Target @Retention @Doc

    Retention注解Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.Re...

  • Java注解(三)—元注解

    元注解就是注解的注解,是Java内置的注解。Java提供四个元注解:@Retention @Target @Doc...

  • ANNOTATION注解

    元注解@Target,@Retention,@Documented,@Inherited @Target表示该注解...

  • Java注解

    元注解 @Target @Retention @Documented @Inherited 使用

  • 注解Retention和Target

    Java元注解:@Target@Retention@Documented@Inherited @Target描述注...

  • Java注解

    基础注解Override WebServlet 元注解 @Target 注解的作用目标@Retention 注解的...

  • Aspect切面-系统日志

    /** * 系统日志注解 * */ @Target(ElementType.METHOD) @Retention(...

  • Java annotation

    元注解 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited...

  • 分享:自定义JAVA注解

    元注解 元注解指用来定义注解的注解,例如:@Retention @Target Inherited @Docume...

  • Spring 常用注解解析

    原生注解 @Retention: 定义注解的保留策略 @Target: 定义注解的作用目标 @Document: ...

网友评论

      本文标题:Spring 注解@Target @Retention @Doc

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