6.基于Apache Commons BeanUtils 字段的复制

在开发中,经常会出现两个VO或DTO这种实体类之间字段的复制,如果两个类之间字段大部分都一样,就可以采用BeanUtils进行字段的复制,非常简单有效,能节省时间。如果两个类都有50个左右字段,要一一写代码set and get,非得吐血不可。
这个类字段复制的原理非常简单,就是利用java的反射,先获取要复制类的所有属性,然后从原类中取该字段的get方法,如果有,则复制,如果没有则不复制。

pom.xml新增依赖

      
            commons-beanutils
            commons-beanutils
            1.9.3
        

新建两个类,User1和User2

public class User1 {
    private String name;//
    private int id;//
    private String pass;//
}
public class User2 {
    private String name;//
    private int id;//
}

其余的set和get方法自补
代码参见:com.critc.BeanUtilsTest,复制方法如下:

 public static void main(String[] args) throws Exception {
         public static void main(String[] args) throws Exception {
        User1 user1 = new User1("test", 1, "123456");//先初始化一个类
        User2 user2 = new User2();
        BeanUtils.copyProperties(user2, user1);//代码复制
        System.out.println(user2.toString());
    }

源码下载

本例子详细源码

你可能感兴趣的:(6.基于Apache Commons BeanUtils 字段的复制)