Spring的BeanUtils.copyProperties(..)方法的使用

一、实体类

  1、Cat.java

// 省略了set/get方法
public class Cat {
    private Integer id;
    private String name;
    private String age;
}

  2、Dog.java

// 省略了set/get方法
public class Dog {
    private String name;
    private String age;
    private String gender;
}

  

二、测试类

public class SpringTest {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setId(9527);
        cat.setName("xiaomaomao");
        cat.setAge("22");

        Dog dog = new Dog();
        BeanUtils.copyProperties(cat,dog);

        System.out.println(dog);
    }
}

  

三、测试结果

Dog{name='xiaomaomao', age='22', gender='null'}

  

四、总结

  通过上面的例子可以看出,Cat、Dog类*同拥有的属性是 name、age,Cat中独有的属性Id,Dog中独有的属性gender,只有相同类型、相同名称的属性值能够复制,如果某一个属性不存在,则会被默认值覆盖,对于 BeanUtils.copyProperties(A,B),最好是A中的属性值多于B中的属性值,这样B中就可以根据属性的名称获得A中的属性值了.

 

上一篇:解决list循环数据覆盖问题


下一篇:java之对象拷贝(A对象中的数据拷贝到B对象)