注解工具-AnnotationUtil
优质
小牛编辑
138浏览
2023-12-01
介绍
封装了注解获取等方法的工具类。
使用
方法介绍
注解获取相关方法:
getAnnotations
获取指定类、方法、字段、构造等上的注解列表getAnnotation
获取指定类型注解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);
注解属性获取相关方法:
getRetentionPolicy
获取注解类的保留时间,可选值 SOURCE(源码时),CLASS(编译时),RUNTIME(运行时),默认为 CLASSgetTargetType
获取注解类可以用来修饰哪些程序元素,如 TYPE, METHOD, CONSTRUCTOR, FIELD, PARAMETER 等isDocumented
是否会保存到 Javadoc 文档中isInherited
是否可以被继承,默认为 false
更多方法见API文档:
https://apidoc.gitee.com/loolly/hutool/cn/hutool/core/annotation/AnnotationUtil.html