Map<String,Object> 转Bean
时间: 2024-10-23 12:11:31 浏览: 26
java 读取csv 并转为Map<String,Object>
`Map<String, Object>` 转换为 Java Bean(POJO)的过程通常是将 Map 中的键值对映射到对应属性上。这个过程可以手动完成,也可以通过一些库工具如 Apache Commons BeanUtils、Google Guava 的 `Multimap` 或者 Spring 框架提供的 `@Autowired` 注解等自动处理。
以下是一个简单的手动示例,假设有一个 User 类:
```java
public class User {
private String name;
private int age;
// getters and setters...
}
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("age", 30);
User user = new User();
for (Map.Entry<String, Object> entry : map.entrySet()) {
try {
Method method = User.class.getMethod(setterName(entry.getKey()));
method.invoke(user, entry.getValue());
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException("Error converting map to bean", e);
}
}
// setterName 函数用于获取对应的setter方法名,例如 "setName" -> "set"
private static String setterName(String key) {
return "set" + key.substring(0, 1).toUpperCase() + key.substring(1);
}
```
阅读全文