項(xiàng)目中有時(shí)會(huì)遇到Map轉(zhuǎn)Bean , Bean轉(zhuǎn)Map的情況 ,這里記錄一下,
以下記錄的方式是使用第三方工具類(lèi),沒(méi)有必要自己用反射實(shí)現(xiàn)這個(gè)功能,別人專(zhuān)業(yè)造輪的,性能不會(huì)太差。
- 【推薦】使用Apache工具類(lèi)的
BeanMap,引入是的org.springframework.cglib.beans.BeanMap,這個(gè)方法比較強(qiáng)大,可以轉(zhuǎn)各成Map<String,String>等
public Map<String, Object> parseData(IndexIc indexIc) {
return BeanMap.create(indexIc) ;
}
- 使用工具類(lèi)
BeanUtils,spring和apache都有這個(gè)工具類(lèi) , 這個(gè)只能轉(zhuǎn)成Map<String,String>
public Map<String, String> parseData(IndexIc indexIc) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
return BeanUtils.describe(indexIc) ;
}