springboot获取注解对应字段值
时间: 2023-09-30 22:13:04 浏览: 60
可以使用反射获取注解对应字段的值。具体步骤如下:
1. 首先需要获取到注解所在的类,可以使用Class.forName()方法获取。
2. 通过Class对象的getDeclaredFields()方法获取到类中所有的属性,遍历属性数组。
3. 对于每个属性,通过getAnnotation()方法获取到该属性上的注解,判断注解的类型是否符合要求。
4. 如果符合要求,则可以通过反射获取该属性的值,具体方法为:使用field.setAccessible(true)打破访问限制,然后调用field.get(obj)获取该属性的值,其中obj为该属性所在的对象。
下面是一个示例代码:
```
Class<?> clazz = Class.forName("com.example.demo.User");
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
MyAnnotation annotation = field.getAnnotation(MyAnnotation.class);
if (annotation != null) {
field.setAccessible(true);
Object value = field.get(obj);
System.out.println("属性名:" + field.getName() + ",注解值:" + annotation.value() + ",属性值:" + value);
}
}
```
其中,MyAnnotation为自定义注解的类名,value()为该注解中的属性,obj为该属性所在的对象。