当前位置: 首页 > 文档资料 > Hutool 帮助文档 >

注解工具-AnnotationUtil

优质
小牛编辑
131浏览
2023-12-01

介绍

封装了注解获取等方法的工具类。

使用

方法介绍

  1. 注解获取相关方法:

  2. getAnnotations 获取指定类、方法、字段、构造等上的注解列表

  3. getAnnotation 获取指定类型注解
  4. getAnnotationValue 获取指定注解属性的值

例子:

我们定义一个注解:

// Retention注解决定MyAnnotation注解的生命周期
@Retention(RetentionPolicy.RUNTIME)
// Target注解决定MyAnnotation注解可以加在哪些成分上,如加在类身上,或者属性身上,或者方法身上等成分
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface AnnotationForTest {

    /**
     * 注解的默认属性值
     * 
     * @return 属性值
     */
    String value();
}

给需要的类加上注解:

@AnnotationForTest("测试")
public static class ClassWithAnnotation{

}

获取注解中的值:

// value为"测试"
Object value = AnnotationUtil.getAnnotationValue(ClassWithAnnotation.class, AnnotationForTest.class);
  1. 注解属性获取相关方法:

  2. getRetentionPolicy 获取注解类的保留时间,可选值 SOURCE(源码时),CLASS(编译时),RUNTIME(运行时),默认为 CLASS

  3. getTargetType 获取注解类可以用来修饰哪些程序元素,如 TYPE, METHOD, CONSTRUCTOR, FIELD, PARAMETER 等

  4. isDocumented 是否会保存到 Javadoc 文档中

  5. isInherited 是否可以被继承,默认为 false

更多方法见API文档:

https://apidoc.gitee.com/loolly/hutool/cn/hutool/core/annotation/AnnotationUtil.html