BeanUtils.copyProperties的用法


大佬地址在下面。。。。。這里僅僅做個記錄

 

 BeanUtils它提供了對java反射和自省API的包裝。它里面還有很多工具類,這里我們介紹一下copyProperties。

  我們如果有兩個具有很多相同屬性的JavaBean,一個很常見的情況就是Struts里的PO對象(持久對象)和對應的ActionForm,

  傳統的方式對屬性逐個賦值:是非常麻煩的,而且代碼量會很多

 這時候我們如果用copyProperties,直接一行代碼,然后就搞定了。

BeanUtils.copyProperties("轉換前的類", "轉換后的類");

例如:

BeanUtils.copyProperties(casesUserIntegralEntity,casesUserIntegral);

但是有幾點我們需要注意:

BeanUtils.copyProperties(a, b);

b中的存在的屬性,a中一定要有,但是a中可以有多余的屬性;
a中與b中相同的屬性都會被替換,不管是否有值;
a、 b中的屬性要名字相同,才能被賦值,不然的話需要手動賦值;
Spring的BeanUtils的CopyProperties方法需要對應的屬性有getter和setter方法;
如果存在屬性完全相同的內部類,但是不是同一個內部類,即分別屬於各自的內部類,則spring會認為屬性不同,不會copy;
spring和apache的copy屬性的方法源和目的參數的位置正好相反,所以導包和調用的時候都要注意一下。
————————————————
版權聲明:本文為CSDN博主「王婷婷-Smily」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dfshsdr/article/details/90513676


免責聲明!

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



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