import com.alibaba.fastjson.JSON;
import com.hxr.designmodel.factorymodel.BizData;
import org.springframework.cglib.beans.BeanMap;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Map;
/**
* 常用工具类
*
* @author houxiurong
* @date 2021/12/22
*/
public class CommonUtil {
/**
* 将 bean 实体转换为 Map
*
* @param bean bean
* @param <T> 实体对象
* @return Map
*/
public static <T> Map<String, Object> bean2Map(T bean) {
Map<String, Object> resultMap = new HashMap<>();
if (null != bean) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
resultMap.put(key + "", beanMap.get(key));
}
}
return resultMap;
}
/**
*
* @param map
* @param beanClass
* @param <T>
* @return
* @throws Exception
*/
public static <T> T map2Bean(Map map, Class<T> beanClass) throws Exception {
T object = beanClass.newInstance();
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
int mod = field.getModifiers();
if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
continue;
}
field.setAccessible(true);
if (map.containsKey(field.getName())) {
field.set(object, map.get(field.getName()));
}
}
return object;
}
public static void main(String[] args) throws Exception {
BizData bizData = new BizData();
bizData.setId(1111);
bizData.setType("name");
bizData.setData("houxiurong.com");
Map<String, Object> mapBean = bean2Map(bizData);
System.out.println(JSON.toJSONString(mapBean));
BizData bean = map2Bean(mapBean, BizData.class);
System.out.println(bean);
}
}
/**
* 数据类型
*
* @author houxiurong
* @date 2019-09-14
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BizData implements Serializable {
private Integer id;
/**
* 类型
*/
private String type;
/**
* data
*/
private String data;
}
如何将一个Java Bean对象转为Map
最新推荐文章于 2024-07-31 04:31:57 发布