1, BeanUtils.copyProperties(dest, orig);
???????? 這種copy是淺拷貝,復制后的2個Bean的同一個屬性可能擁有同一個對象的ref,這個在使用時要小心,特別是對于屬性為自定義類的情況.還要屬性為集合類的情況。小心hibernate的Set
2,BeanUtils.copyProperties與PropertyUtils.copyProperties的區別
? 這兩個類幾乎有一摸一樣的功能,唯一的區別是:BeanUtils在對Bean賦值是會進行類型轉化。舉例來說也就是在copyProperty時只要屬性名相同,就算類型不同,BeanUtils也可以進行copy;而PropertyBean則可能會報錯。當然2個Bean之間的同名屬性的類型必須是可以轉化的,否則用BeanUtils一樣會報錯。 ???????? 若實現了org.apache.commons.beanutils.Converter接口則可以自定義類型之間的轉化。
除BeanUtils外還有一個名為PropertyUtils的工具類,它也提供copyProperties()方法,作用與BeanUtils的同名方法十分相似,主要的區別在于后者提供類型轉換功能,即發現兩個JavaBean的同名屬性為不同類型時,在支持的數據類型范圍內進行轉換,而前者不支持這個功能,但是速度會更快一些
http://xiaozhao-521.javaeye.com/blog/244254
注意:有人說BeanUtils支持的轉換類型不包括java.util.Date?
???? 我用1.6.1版本試了BeanUtils.copyProperties,肯定是支持java.util.Date的。
3,LazyDynaBean可以實現動態的vo。
? 這樣,有時候程序給view層的東西就可以用它來封裝而不用專門建一個多余的vo類了。
參考:
http://jone0321.blogdriver.com/jone0321/615543.html
http://www.aygfsteel.com/kenzhh/archive/2008/09/03/226592.html
2,BeanUtils.copyProperties與PropertyUtils.copyProperties的區別
? 這兩個類幾乎有一摸一樣的功能,唯一的區別是:BeanUtils在對Bean賦值是會進行類型轉化。舉例來說也就是在copyProperty時只要屬性名相同,就算類型不同,BeanUtils也可以進行copy;而PropertyBean則可能會報錯。當然2個Bean之間的同名屬性的類型必須是可以轉化的,否則用BeanUtils一樣會報錯。 ???????? 若實現了org.apache.commons.beanutils.Converter接口則可以自定義類型之間的轉化。
除BeanUtils外還有一個名為PropertyUtils的工具類,它也提供copyProperties()方法,作用與BeanUtils的同名方法十分相似,主要的區別在于后者提供類型轉換功能,即發現兩個JavaBean的同名屬性為不同類型時,在支持的數據類型范圍內進行轉換,而前者不支持這個功能,但是速度會更快一些
http://xiaozhao-521.javaeye.com/blog/244254
注意:有人說BeanUtils支持的轉換類型不包括java.util.Date?
???? 我用1.6.1版本試了BeanUtils.copyProperties,肯定是支持java.util.Date的。
3,LazyDynaBean可以實現動態的vo。
? 這樣,有時候程序給view層的東西就可以用它來封裝而不用專門建一個多余的vo類了。
參考:
http://jone0321.blogdriver.com/jone0321/615543.html
http://www.aygfsteel.com/kenzhh/archive/2008/09/03/226592.html