📜  Java BeanUtils-概述

📅  最后修改于: 2020-11-04 07:02:51             🧑  作者: Mango


描述

Java BeanUtils是从JavaAPI派生的Apache Commons的组件,并提供Java语言的组件体系结构。 Java BeanUtils设计模式使用实用程序类,这些实用程序类有助于获取和设置Java类上的属性值,以检索和定义Bean属性。

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

JavaBeans特性

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

  • 该类应该是公共的,并提供一个没有参数的公共构造函数。它允许工具和应用程序动态创建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规范,你可以有一个以上的二传手名称相同,但具有不同的属性类型。

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

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

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

外部依赖

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