BeanUtils它提供了對java反射和自省API的包裝。在Java開發中我們用到比較多的copyProperties,對於這個方法來來說,需要注意幾點
copyProperties(a,b);a是有屬性值得一個類,b是一個要賦值的目標類
在使用BeanUtils.copyProperties(a, b)中要注意以下幾點
b中的存在的屬性,a中一定要有,a中可以有多余的屬性;
a中與b中相同的屬性都會被替換,不管是否有值;
a、 b中的屬性要名字和類型都相同,才能被賦值,不然的話需要手動賦值;
Spring的BeanUtils的CopyProperties方法需要對應的屬性有getter和setter方法;
如果存在屬性完全相同的內部類,但是不是同一個內部類,即分別屬於各自的內部類,則spring會認為屬性不同,不會copy;
spring和apache的copy屬性的方法源和目的參數的位置正好相反,所以導包和調用的時候都要注意一下。