1. 程式人生 > >BeanUtils的使用-在具有很多相同屬性的兩個bean之間複製屬性值

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異常。