6.基于Apache Commons BeanUtils 字段的復(fù)制

在開發(fā)中,經(jīng)常會出現(xiàn)兩個VO或DTO這種實體類之間字段的復(fù)制,如果兩個類之間字段大部分都一樣,就可以采用BeanUtils進行字段的復(fù)制,非常簡單有效,能節(jié)省時間。如果兩個類都有50個左右字段,要一一寫代碼set and get,非得吐血不可。
這個類字段復(fù)制的原理非常簡單,就是利用java的反射,先獲取要復(fù)制類的所有屬性,然后從原類中取該字段的get方法,如果有,則復(fù)制,如果沒有則不復(fù)制。

pom.xml新增依賴

      <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.3</version>
        </dependency>

新建兩個類,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,復(fù)制方法如下:

 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);//代碼復(fù)制
        System.out.println(user2.toString());
    }

源碼下載

本例子詳細源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容