Java BeanUtils - 概述


描述

Java BeanUtils是 Apache Commons 的组件,它派生自 JavaAPI,并为 Java 语言提供组件架构。Java BeanUtils 设计模式使用实用程序类来帮助获取和设置 Java 类的属性值,以检索和定义 bean 属性。

org.apache.commons.beanutils包包含名为introspection 的工具,该工具有助于在 Java 类上获取和设置属性值,并在开发工具中以可视化方式显示它们。

JavaBean 特性

下面列出了 JavaBeans 的重要特性,它们在开发结构中很有用:

  • 该类应该是公共的,并提供一个不带参数的公共构造函数。它允许工具和应用程序动态创建 bean 的新实例,而无需知道将使用什么类型的 Java 类名,如下所示:

    String className = ...;
    Class beanClass = Class.forName(className);
    Object beanInstance = beanClass.newInstance();
    
  • 没有参数的构造函数,其 bean 的Behave可以与其实例化分开配置。这可以通过使用 bean 的属性来实现,也可以用来修改 bean 的Behave或显示的数据。

  • bean 属性包含用于访问属性值的settergetter方法。可以通过使用属性名称的setget前缀以及使用 JavaBeans 规范将第一个字符大写来指定这些属性的设计模式。例如,您可以对属性first_namelast_name使用settergetter方法,如下所示:

    public class Employee {
       public Employee();   // Zero-arguments constructor
       public String getFirstName();
       public void setFirstName(String first_name);
       public String getLastName();
       public void setLastName(String last_name);
       public String getFullName();
    }
    
  • 如果属性名称有gettersetter方法,则getter应该与setter数据类型匹配。在 JavaBean 规范中,可以有多个具有相同名称但具有不同属性类型的setter 。

  • 无需为每个属性定义gettersetter方法。在上面的代码中,fullName 属性没有setter方法,它只是一个只读属性。

  • 您可以使用gettersetter方法创建与命名模式不匹配的 JavaBean 。JavaBean支持Java语言和BeanUtils包中的类,以与bean类一起指定BeanInfo类中的属性方法名称。

  • JavaBeans 规范提供了事件侦听器的设计模式,将 JavaBeans 组合到组件层次结构中以及 BeanUtils 包的其他有用功能。

外部依赖

您可以对commons-beanutils包使用以下外部依赖项: