Java BeanUtils - 概述

描述

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

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

JavaBean 特征

下面列出的是 JavaBeans 的重要特性,这些特性在开发结构中很有用:

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

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

  • 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包使用以下外部依赖项: