BeanUtils.copyProperties()方法用于將一個JavaBean對象的屬性值復制到另一個JavaBean對象中。使用該方法需要引入org.apache.commons.beanutils.BeanUtils類。
使用方法如下:
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.PropertyUtils;
public class Main {
public static void main(String[] args) throws Exception {
// 創建源對象和目標對象
SourceBean sourceBean = new SourceBean();
TargetBean targetBean = new TargetBean();
// 設置源對象的屬性值
sourceBean.setName("John");
sourceBean.setAge(25);
// 復制屬性值
BeanUtils.copyProperties(targetBean, sourceBean);
// 打印目標對象的屬性值
System.out.println(targetBean.getName()); // 輸出: John
System.out.println(targetBean.getAge()); // 輸出: 25
}
}
// 源對象類
class SourceBean {
private String name;
private int age;
// getter和setter方法
}
// 目標對象類
class TargetBean {
private String name;
private int age;
// getter和setter方法
}
在上面的例子中,通過調用BeanUtils.copyProperties(targetBean, sourceBean)方法,將源對象sourceBean的屬性值復制到目標對象targetBean中。最后,打印目標對象的屬性值,可以看到目標對象的屬性值已經被復制成功。
需要注意的是,源對象和目標對象的屬性名和類型要相同或兼容,否則可能會拋出異常。此外,BeanUtils.copyProperties()方法只會復制源對象中存在的屬性值,如果目標對象中存在的屬性值會被覆蓋。如果需要復制嵌套對象的屬性值,可以使用PropertyUtils.copyProperties()方法。