Java:如何將屬性從一個 Bean 複製到另一個

已發表: 2018-06-26

如何將屬性從一個 Bean 複製到另一個

大多數 Java 開發人員習慣於為屬性 getter 和 setter 創建符合 JavaBeans 命名模式的 Java 類。 然後很自然地直接訪問這些方法,使用對相應getXxxsetXxx方法的調用。

但是,在某些情況下,需要動態訪問 Java 對象屬性(無需對要調用的屬性 getter 和 setter 方法的編譯知識)。

示例用例包括:

  • 構建與 Java 對像模型交互的腳本語言(例如 Bean 腳本框架)。
  • 為 Web 演示和類似用途(例如 JSP 或 Velocity)構建模板語言處理器。
  • 為 JSP 和 XSP 環境(例如 Apache Taglibs、Struts、Cocoon)構建自定義標籤庫。
  • 使用基於 XML 的配置資源(例如 Ant 構建腳本、Web 應用程序部署描述符、Tomcat 的server.xml文件)。

Jakarta Commons BeanUtils 庫具有多種使用 JavaBeans 的功能。 1.8.3 版本的 BeanUtils 依賴於CommonsLogging library

此外,在本教程中,我使用了 Commons Lang 庫中的ToStringBuilder來輸出本示例中 JavaBean 的屬性。

另一個必須閱讀:

  • 如何以編程方式生成 Java 線程轉儲
  • 如何在 Java 中覆蓋 equals() 和 hashcode() 方法

這是一個簡單的 Java 示例,它演示了將屬性從一個 Bean 複製到另一個的方法。

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

輸出:

以下是 Maven 依賴項:

Apache Common Beanutils Maven 依賴

Apache Commons 日誌記錄 Maven 依賴項