JavaでBeanUtils.copyProperties()関数をどのように利用しますか
BeanUtils.copyPropertiesメソッドは、あるJavaBeanオブジェクトのプロパティ値を別のJavaBeanオブジェクトにコピーするために使用します。このメソッドを使用するには、org.apache.commons.beanutils.BeanUtilsクラスをimportする必要があります。
使用法は次のとおりです。
- 依存関係のインポート
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
- BeanUtils.copyPropertiesメソッドを呼び出します:
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)メソッドを呼び出すことで、対象オブジェクトtargetBeanはオブジェクトsourceBeanから、プロパティの値をコピーします。最後に、対象オブジェクトのプロパティの値を出力すると、プロパティの値が正常にコピーされたことを確認できます。
ソースオブジェクトとターゲットオブジェクトの属性名と型は同じか互換性がある必要があります。そうでない場合は例外が発生することがあります。 BeanUtils.copyProperties()メソッドはソースオブジェクトに存在する属性値のみをコピーし、ターゲットオブジェクトに存在する属性値は上書きされます。ネストされたオブジェクトの属性値をコピーする必要がある場合は、PropertyUtils.copyProperties()メソッドを使用することもできます。