【commons】Bean工具类——commons-beanutils之BeanUtils
一、起步
引入依賴:
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --> <dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.3</version> </dependency>當(dāng)然,一般可能項目中不會需要單獨引入這個依賴,可能其他依賴自動引入了此包,請先檢查,避免重復(fù)引入!
二、開始
文檔:http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.3/apidocs/org/apache/commons/beanutils/BeanUtils.html
參考隨筆:https://www.cnblogs.com/vmax-tam/p/4159985.html
1.常用方法
copyProperties(Object dest, Object orig) Copy property values from the origin bean to the destination bean for all cases where the property names are the same.copyProperty(Object bean, String name, Object value) Copy the specified property value to the specified destination bean, performing any type conversion that is required. populate(Object bean, Map<String,? extends Object> properties) Populate the JavaBeans properties of the specified bean, based on the specified name/value pairs.2.代碼演示
不再(tou)贅述(lan),查看網(wǎng)友示例:https://www.cnblogs.com/vmax-tam/p/4159985.html
3.注意點(引用自網(wǎng)友)
(淺拷貝)
關(guān)于bean復(fù)制,如果屬性較少,建議直接寫個方法完成get/set即可。如果屬性較多,可以自己采用反射實現(xiàn)一個滿足自己需要的工具類,或者使用spring的那個beanutils類,不建議使用commons-beanutils包中的那個BeanUtils類,剛看了下,這個類對于內(nèi)部靜態(tài)類的對象復(fù)制也會出現(xiàn)問題,檢驗太復(fù)雜了,常會出現(xiàn)一些詭異的問題。畢竟我們bean復(fù)制一般就是簡單的屬性copy而已。
而且,由于這些BeanUtils類都是采用反射機(jī)制實現(xiàn)的,對程序的效率也會有影響。因此,慎用BeanUtils.copyProperties!!!
4.對比與拓展
如果有Date等類型,請參考spring的BeanUtils:https://www.cnblogs.com/dongfangshenhua/p/7099970.html
如果引入了hutool依賴,推薦hutool的BeanUtils!
轉(zhuǎn)載于:https://www.cnblogs.com/jiangbei/p/8417568.html
總結(jié)
以上是生活随笔為你收集整理的【commons】Bean工具类——commons-beanutils之BeanUtils的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防止js全局变量污染方法总结-待续
- 下一篇: python-常用函数模块学习-subp