大佬地址在下面。。。。。這里僅僅做個記錄
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
