使用org.apache.commons.beanutils进行转换
如果项目中没有该依赖,导入maven
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.2</version>
</dependency>
编写两个方法:
public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
if (map == null)
return null;
Object obj = beanClass.newInstance();
BeanUtils.populate(obj, map);
return obj;
}
public static Map<?, ?> objectToMap(Object obj) {
if(obj == null)
return null;
return new org.apache.commons.beanutils.BeanMap(obj);
}
运行此方法测试
@Test
public void test2()throws Exception{
Person person = new Person();
person.setId(3);
person.setName("小明");
person.setPhone("123456555");
person.setHobby("打球");
person.setSchool("兰州理工大学");
System.out.println(person);
Thread.sleep(1000L);
Map<?, ?> map = objectToMap(person);
System.out.println(map);
}
@Test
public void test3()throws Exception{
Map map = new HashMap<>();
map.put("id",3);
map.put("name","小明");
map.put("phone","1234655555");
map.put("hobby","打篮球");
map.put("school","兰州理工大学");
Person person = (Person)mapToObject(map, Person.class);
System.out.println(person);
}
参考:https://www.cnblogs.com/XuYiHe/p/6871799.html
推荐参考:https://blog.youkuaiyun.com/tiantangdizhibuxiang/article/details/80575412