BeanUtils的使用-在具有很多相同屬性的兩個bean之間複製屬性值
import org.springframework.beans.BeanUtils;
注意事項:
在使用時一定要用import org.springframework.beans.BeanUtils;包裡的BeanUtils。
因為在用的過程中 使用import org.apache.commons.beanutils.BeanUtils時,bean裡含有Date型別(時間)值時(尤其date=null時),很容易出錯。
在兩個具有很多相同屬性的bean,直接將一個bean的屬性值複製給另一個bean的屬性。
如果兩個bean之 間存在名稱不相同的屬性,則BeanUtils不對這些屬性進行處理,需要手動處理。
幫程式設計師節省了大量程式碼的同時,也消耗了大量的時間。
BeanUtils 好處:使用方便,程式碼簡單明瞭。
壞處:在java1.4及之前會 消耗大量時間。
用還是不用,這是個問題??
BeanUtils.copyProperties(beanSource, beanMuBiao); //permissionModel為源,beanMuBiao目標(將他兩共有的屬性賦給beanMuBiao)。
關於import org.apache.commons.beanutils.BeanUtils的一些該注意的地方:
BeanUtils支援的轉換型別如下: * java.lang.BigDecimal * java.lang.BigInteger * boolean and java.lang.Boolean * byte and java.lang.Byte * char and java.lang.Character * java.lang.Class * double and java.lang.Double * float and java.lang.Float * int and java.lang.Integer * long and java.lang.Long * short and java.lang.Short * java.lang.String * java.sql.Date * java.sql.Time * java.sql.Timestamp 這裡要注意一點,java.util.Date是不被支援的,而它的子類java.sql.Date是被支援的。因此如果物件包含時間型別的屬性,且希望被轉換的時候,一定要使用java.sql.Date型別。否則在轉換時會提示argument mistype異常。