自定義BeanUtils處理時間格式轉換
阿新 • • 發佈:2019-02-03
BeanUtils.populate( Object bean , Map properties );可以使Map轉對應的物件,但是如果是bean有個日期欄位而Map中這個日期欄位傳過來是字串,資料型別無法轉換,會導致報錯,所以BeanUtils需要一個日期轉換器來解決日期格式轉換問題。
- 自定義BeanUtils的前提是要匯入BeanUtils的相關jar包。
- 匯入BeanUtils.jar和logging.jar
封裝:BeanUtils.populate( Object bean , Map properties )
注意:當對日期進行轉換時
- 需要自己建立一個日期轉換器:DateConverter物件,
- 設定格式:dateConverter.setPattern(“yyyy-MM-dd”),
- 進行註冊:ConvertUtils.register( dateConverter , Date.class );
/**
*將資料封裝給JavaBean,可以處理時間格式
*/
public final class MyBeanUtils {
private MyBeanUtils(){}
public static void populate(Object bean, Map<String,String[]> properties){
try {
//處理時間格式
DateConverter dateConverter = new DateConverter();
//設定日期格式
dateConverter.setPatterns(new String[]{"yyyy-MM-dd","yyyy-MM-dd HH:mm:ss"});
//註冊格式
ConvertUtils.register(dateConverter, Date.class);
//封裝資料
BeanUtils.populate(bean, properties);
} catch (IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException(e);
}
}
}