Java注解总结

作者: 打伞的Fish | 来源:发表于2018-07-08 08:41 被阅读2次

通过这篇文章你会知道如下内容:

  • 元注解类型有哪些,作用都是哪些?
  • 注解如何使用?如何提取?

在springBoot中存在很多注解的使用,同时看了这边文章,所以总结下,把这个知识再次梳理下;

注解
元注解
  • @Target

Target 是目标的意思,@Target 指定了注解(springbootApplication)运用的地方。
target取值有如下:
ElementType.ANNOTATION_TYPE 可以给一个注解进行注解
ElementType.CONSTRUCTOR 可以给构造方法进行注解
ElementType.FIELD 可以给属性进行注解
ElementType.LOCAL_VARIABLE 可以给局部变量进行注解
ElementType.METHOD 可以给方法进行注解
ElementType.PACKAGE 可以给一个包进行注解
ElementType.PARAMETER 可以给一个方法内的参数进行注解
ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举

  • @Retention

当 @Retention 应用到一个注解上的时候,它解释说明了这个注解的的存活时间,即生命周期
比如在运行阶段要提取到注解,就要注意生命的周期的使用
它的取值如下:
RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。
RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。
RetentionPolicy.RUNTIME 注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们。

  • @Documented

它的作用是能够将注解中的元素包含到 Javadoc 中去。

  • @Inherited

子类就继承了超类的注解

  @Inherited
  @Retention(RetentionPolicy.RUNTIME)
  @interface Test {}

  @Test
  public class A {}

  public class B extends A {}

超类的注解如果使用了@Inherited修饰,那么子类如果没有使用任何注解标注,那么子类继承超类上的注解

  • @Repeatable

作用:使得作用的注解可以取多个值
这个先上一个例子

  @interface Persons {
         Person[]  value();
   }
  @Repeatable(Persons.class)
  @interface Person{
        String role default "";
  }
    @Person(role="A")
    @Person(role="B")
    @Person(role="C")
    public class Man{
    }

按照规定 @Repeatable这里面包含的注解必须有一个value 的属性,属性类型(Person)是一个被 @Repeatable 注解过的注解

  • 注解中的属性

    public @interface XX {
    Class<?>[] exclude() default {};  
    boolean lazyInit() default false;
    }
    

注解中的属性是类型+名称,如果有默认值可以指定,这样在使用注解的时候,就可以不用进行赋值了


有默认值可以不用不赋值 没有默认值
image.png
  • 注解与反射组合

提取和判断注解,方法和属性的注解提取类似

相关文章

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

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

  • Java注解

    java注解知识总结

  • 10.7java高级-注解

    java高级-注解 注解概念 注解分类 Andriod support annotations 总结 1.注解概念...

  • Java注解总结(一)

    Java注解总结(一) 什么是注解 Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊...

  • Java注解总结

    通过这篇文章你会知道如下内容: 元注解类型有哪些,作用都是哪些? 注解如何使用?如何提取? 在springBoot...

  • Java注解总结

    注解 创建注解 下面代码创建了一个名为MyAnno的注解,有两个成员str和val。@Retention(…)注解...

  • Java 注解总结

    Java 注解总结 注解的作用 注解是是一类用于描述代码信息的的原数据,注解本身并非其注释的代码的一部分。它主要的...

  • java 注解总结

    Java注解 又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。 Java语言中的类、...

  • Java注解使用总结

    Java注解总结 注解(Annotation)在JDK1.5之后增加的一个新特性,注解的引入意义很大,有很多非常有...

  • 注解总结

    总结了一些注解,实时更新 @interface java用 @interface Annotation{ } 自定...

网友评论

    本文标题:Java注解总结

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