springboot 反射 获取指定属性名的值
时间: 2023-11-22 12:52:51 浏览: 206
反射获取类属性名和属性值
4星 · 用户满意度95%
可以通过 Java 的反射机制来获取指定属性名的值,具体步骤如下:
1. 使用 Class.forName() 方法获取类的 Class 对象。
2. 使用 Class 对象的 getDeclaredField() 方法获取指定属性名的 Field 对象。
3. 使用 Field 对象的 setAccessible(true) 方法设置访问权限。
4. 使用 Field 对象的 get() 方法获取属性值。
下面是一个示例代码:
```java
public class User {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
public static void main(String[] args) throws Exception {
// 获取 User 类的 Class 对象
Class<?> clazz = Class.forName("com.example.User");
// 获取 name 属性的 Field 对象
Field nameField = clazz.getDeclaredField("name");
// 设置访问权限
nameField.setAccessible(true);
// 创建 User 对象并设置 name 属性值
User user = new User();
nameField.set(user, "张三");
// 获取 name 属性值并输出
String name = (String) nameField.get(user);
System.out.println(name);
}
```
在上面的代码中,我们使用反射机制获取了 User 类的 Class 对象和 name 属性的 Field 对象,然后设置了访问权限并通过 set() 方法设置了属性值,最后使用 get() 方法获取了属性值并输出。
阅读全文