BeanUtils与PropertyUtils的常用方法
目錄
一、copyProperties(Object A,Object B)
1.1BeanUtils(推薦)
1.1.1特性
1.1.2代碼
1.2PropertyUtils
二、populate(Object bean, Map properties)
2.1BeanUtils
三、describe(Object bean)
3.1BeanUtils
3.2PropertyUtils(推薦)
BeanUtils提供對Java反射和自省API的包裝。其主要目的是利用反射機制對JavaBean的屬性進行處理。一個JavaBean通常包含了大量的屬性,很多情況下,對JavaBean的處理導致大量get/set代碼堆積,增加了代碼長度和閱讀代碼的難度。
一、copyProperties(Object A,Object B)
通過反射將一個對象的值賦值給另一個對象
1.1BeanUtils(推薦)
1.1.1特性
? ? *只賦值字段名稱、類型相同的字段;
? ? *名稱或者類型不同的字段不做處理,需要手動處理。
? ??*適應于包含大量屬性的,此方法耗時長,如果屬性少的話建議使用get/set方法進行賦值
1.1.2代碼
注:引入的jar不同,用法不同
import org.springframework.beans.BeanUtils; //(常用)//BeanUtils.copyProperties(A,B) 將A中的值賦值給BMovieCompany movieCompany = new MovieCompany(); MovieCompanyExt movieCompanyExt = movieCompanyMapperExt.getCompanyByCompanyCode(redPacketExt.getCompanyCode()); BeanUtils.copyProperties(movieCompanyExt, movieCompany);------------------------------------------------------------------------------------------import org.apache.commons.beanutils.BeanUtils;//BeanUtils.copyProperties(B,A) 將A中的值賦值給BMovieCompany movieCompany = new MovieCompany(); MovieCompanyExt movieCompanyExt = movieCompanyMapperExt.getCompanyByCompanyCode(redPacketExt.getCompanyCode()); BeanUtils.copyProperties(movieCompany, movieCompanyExt);1.2PropertyUtils
其實這個與上面的BeanUtils中用法一致,只是這種方法會進行類型的自動轉換功能。在開發中這種用法還是比較少的,推薦使用BeanUtils方法,然后手動將類型不同的參數處理下就可以了。
二、populate(Object bean, Map properties)
將map轉換為對象
1.遍歷Map集合中的key
2.判斷key與bean實體中是否有相應的屬性
3.就把這個key對應的value值賦給bean的屬性
2.1BeanUtils
//BeanUtils.populate( Object bean, Map properties )import org.apache.commons.beanutils.BeanUtils;Product product = new Product(); Map map = request.getParameterMap(); BeanUtils.populate(product, map);三、describe(Object bean)
3.1BeanUtils
BeanUtils.describe轉換后的Map的泛型是<String,String>此時獲取到的字段如果是數組類型的話只獲取了第一個元素
import org.apache.commons.beanutils.BeanUtils;Map<String,Object> param=new HashMap<String,Object>(); param = BeanUtils.describe(movieCompany);3.2PropertyUtils(推薦)
import org.apache.commons.beanutils.PropertyUtils;Map<String,Object> param=new HashMap<String,Object>(); param = PropertyUtils.describe(movieCompany);?
總結
以上是生活随笔為你收集整理的BeanUtils与PropertyUtils的常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows炫酷桌面【雨滴】钢铁侠
- 下一篇: native APP,hybrid AP