BeanUtils.copyProperties(A,B)屬性複製
阿新 • • 發佈:2021-10-09
針對專案中出現的BeanUtils.copyProperties(A,B)經常會出現前後賦值順序不一致的情況,後來查詢才知道其中的區別。
BeanUtils提供對Java反省和自省API的包裝。主要目的是利用反射機制對JavaBean的屬性進行處理。由於一個JavaBean通常會包含較多屬性,很多情況下需要對JavaBean進行處理導致大量get/set程式碼堆積,增加了程式碼長度和閱讀程式碼的難度。
於是BeanUtils.copyProperties(A,B)提供了JavaBean之間的屬性複製。當然這個方法值對於相同屬性之間的複製,當兩個實體中存在不同屬性時,BeanUtils無法對其進行處理,需程式設計師使用的set()方法進行處理。目前有兩套BeanUtils的jar可以進行復制操作,但是用法不太一樣:
① package org.springframework.beans;
BeanUtils.copyProperties(A,B) --> 是將A中的值賦值給B
② package org.apache.commons.beanutils;(常用)
BeanUtils.copyProperties(A,B) --> 是將B中的值賦值給A
BeanUtils.copyProperties(A,B)針對ArrayList的copy
原文連結 https://blog.csdn.net/qqxyy99/article/details/80475353