博客当笔记用、挺好。
1、map转javabean
//map转javaBean
public static <T> T mapTobean(Map<String,Object> beanMap, Class<T> beanType) throws Exception {
T obj = beanType.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(beanType, Object.class);
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
String propertyName = pd.getName();//属性名
Object propertyValue = beanMap.get(propertyName);//属性值
pd.getWriteMethod().invoke(obj,propertyValue);
}
return obj;
}
2、javaBean转map
//javaBean转Map
public static Map<String,Object> beanToMap(Object bean) throws Exception {
Map<String,Object> map = new HashMap<String, Object>();
BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass(),Object.class);//获取Bean中属性名和属性值
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();//获取属性描述对象数组
for (PropertyDescriptor pd : pds) {
String propertyName = pd.getName();//属性名
Object propertyValue = pd.getReadMethod().invoke(bean);//调用该属性的get方法
map.put(propertyName, propertyValue);
}
return map;
}