1. copyProperties
org.apache.commons.beanutils包中有两个工具类,BeanUtils与PropertyUtils,这两个工具类中各自有一个copyProperties(Object dest, Object orig)方法,这两个方法可以将两个对象当中相同的属性的值由源对象赋值至目标对象中。用到这个类的场景一般是由前台传到后台的一个包装类,将这个包装类的值copy到一个实体对象中,由这个实体对象写入数据库表,可以省去多行get与set方法。
2. BeanUtils与PropertyUtils的copyProperties方法的差别
这两个工具类当中的copyProperties方法的方法名、参数,都一样,所使用到的场景也类似,它们之间的差别在于源对象中int、值为null的时候。以下用代码说明,有一个User类,及一个继承自该类的UserVO,这要做的事,是将User当中的属性copy到UserVO当中。
3. 测试代码
3.1 实体类
下面有两个实体类,其中一个实体类继承自另一个实体类,测试代码要做的事情就是将父类属性的值赋到子类当中(由于篇幅原因,省去get、set与toString方法)。
import java.util.Date;
public class User {
private Long id;
private String name;
private Integer sex;
private Double age;
private Date birthDay;
}
public cl