使用BeanUtils在bean之间复制具有不同名称的属性

时间:2012-10-19 08:43:05

标签: java javabeans apache-commons-beanutils

我想使用具有相同字段但具有不同名称的BeanUtils将属性值从A类复制到B类。是否可以提供属性名称到不同名称,年龄到不同年龄等的地图,并实现复制?我很想知道是否可以通过任何方式使用Apache Commons实用程序(而不是任何其他工具)。

class ClassA{
    private String name;
    private Integer age;
    ... // Setter and Getter methods
} 

class ClassB{
    private String differentName;
    private Integer differentAge;
    ... // Setter and Getter methods for the private fields
}

1 个答案:

答案 0 :(得分:1)

Apache Commons BeanUtils有方法,方法populate(Object bean, Map properties)接受一个映射,用键值对填充Bean。

注意:我刚刚看到了Apache-Commons的限制 - 但它可能对其他人有用,而且我担心的是更好的解决方案。

当名称匹配时使用Dozer会自动复制值。或者在您的情况下,您可以在xml映射文件中指定源成员和目标成员。

相关问题