ConvertUtils.register(new DateConverter(null), java.util.Date.class)使用


在我們使用BeanUtils.copyProperties(dest,orig)將一個類的屬性賦值給另一個類的時候

如果類中存在 Date類型的轉換可能會報"no value specified for date"錯誤,那是因為Converter,是因為Converter [轉換器]這個居然只支持一些基本的類型,居然連java.util.Date這個也支持不了,而它的子類java.sql.Date是被支持的,在沒有使用類型注冊器的前提下使用util.date類型會報上述錯誤。

  BeanUtils.copyProperties(dest, orig);這種copy是淺拷貝,復制后的2個Bean的同一個屬性可能擁有同一個對象的句柄,BeanUtils在對Bean

賦值是會進行類型轉化。舉例來說也就是在copyProperty時只要屬性名相同,就算類型不同,BeanUtils也可以進行copy

而解決的辦法也非常簡單,只需要在BeanUtils.copyProperties()之前先通過類型注冊器 ConvertUtils.register(new DateConverter(null), java.util.Date.class);的處理就可以了。

注冊util.date的轉換器,即允許BeanUtils.copyProperties時的源目標的util類型的值允許為空.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM