1. 程式人生 > >自定義BeanUtils處理時間格式轉換

自定義BeanUtils處理時間格式轉換

BeanUtils.populate( Object bean , Map properties );可以使Map轉對應的物件,但是如果是bean有個日期欄位而Map中這個日期欄位傳過來是字串,資料型別無法轉換,會導致報錯,所以BeanUtils需要一個日期轉換器來解決日期格式轉換問題。

  • 自定義BeanUtils的前提是要匯入BeanUtils的相關jar包。
  • 匯入BeanUtils.jar和logging.jar
  • 封裝:BeanUtils.populate( Object bean , Map properties )

    注意:當對日期進行轉換時

    1. 需要自己建立一個日期轉換器:DateConverter物件,
    2. 設定格式:dateConverter.setPattern(“yyyy-MM-dd”),
    3. 進行註冊: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); } } }