Spring:AnnotationUtils 使用
时间: 2023-06-28 14:13:17 浏览: 92
AnnotationUtils是Spring框架提供的一个工具类,用于获取指定类、方法、字段等上指定的注解信息。使用AnnotationUtils可以简化代码编写,并且可以避免出现重复的注解代码。
下面是AnnotationUtils的使用示例:
1. 获取指定类上的注解信息:
```
@MyAnnotation(value = "class")
public class MyClass {
// ...
}
Class<?> clazz = MyClass.class;
MyAnnotation annotation = AnnotationUtils.getAnnotation(clazz, MyAnnotation.class);
System.out.println(annotation.value()); // 输出 "class"
```
2. 获取指定方法上的注解信息:
```
public class MyClass {
@MyAnnotation(value = "method")
public void myMethod() {
// ...
}
}
Method method = MyClass.class.getMethod("myMethod");
MyAnnotation annotation = AnnotationUtils.getAnnotation(method, MyAnnotation.class);
System.out.println(annotation.value()); // 输出 "method"
```
3. 获取指定字段上的注解信息:
```
public class MyClass {
@MyAnnotation(value = "field")
private String myField;
// ...
}
Field field = MyClass.class.getDeclaredField("myField");
MyAnnotation annotation = AnnotationUtils.getAnnotation(field, MyAnnotation.class);
System.out.println(annotation.value()); // 输出 "field"
```
注意事项:
- 如果指定的类、方法、字段上没有指定的注解,则AnnotationUtils.getAnnotation()方法会返回null。
- 如果需要获取指定类上的注解信息,也可以使用Spring提供的@AnnotatedElementUtils工具类,该工具类可以获取类、方法、字段等上所有的注解信息。