首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

善用 Apache Commons BeanUtils 避免大量 get/set 呼叫

     編輯:Java 相關知識

問題背景

在 Java 開發中,頻繁撰寫 getter/setter 進行屬性複製不僅繁瑣,也容易因疏失導致錯誤。Apache Commons BeanUtils 提供 BeanUtils.copyProperties() 方法,可一次將來源物件的所有屬性複製至目標物件,大幅簡化程式碼。

實作範例

import org.apache.commons.beanutils.BeanUtils;

public class CopyDemo {
    public static void main(String[] args) {
        TUser user = new TUser();
        user.setName("Emma");
        user.setUserType(1);

        TUser anotherUser = new TUser();
        try {
            BeanUtils.copyProperties(anotherUser, user);
            System.out.println("UserName => " + anotherUser.getName());
            System.out.println("UserType => " + anotherUser.getUserType());
        } catch (IllegalAccessException | InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}

注意事項

  • 來源與目標類別需具備相同名稱的屬性與對應的 getter/setter。
  • 方法會拋出 IllegalAccessException 與 InvocationTargetException,務必捕獲處理。
  • 若屬性型別不相容,轉換過程可能擲出例外。

適用情境

  • 表單資料綁定至領域物件。
  • DTO 與 Entity 相互轉換。
  • 單元測試快速建立測試資料。

善用工具庫,讓程式碼更簡潔、可維護性更高。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved