Map和Bean的相互轉換
BeanUtils位於org.apache.commons.beanutils.BeanUtils下面,其方法populate的作用解釋如下:
完整方法:
BeanUtils.populate( Object bean, Map properties ),
這個方法會遍歷map<key, value>中的key,如果bean中有這個屬性,就把這個key對應的value值賦給bean的屬性。
1、bean 轉換成 map
Person person1=new Person();
person1.setName("name1");
person1.setSex("sex1");
Map<String, String> map=null;
try {
map = BeanUtils.describe(person1);
2、map 轉換成 bean
/**
*
*
* Map轉換層Bean,使用泛型免去了類型轉換的麻煩。
* @param <T>
* @param map
* @param class1
* @return
*/
public static <T> T map2Bean(Map<String, String> map, Class<T> class1) {
T bean = null;
try {
bean = class1.newInstance();
BeanUtils.populate(bean, map);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return bean;
}