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 依赖项