Java Beanutils 简明教程

Java BeanUtils - Background

Description

Java 语言的标准 JavaBeans 可用于使用正确的 getter 方法访问 Bean 的属性值。Java 语言提供 java.beans.Introspector 类在运行时检查 Java 类。这表示 getter 和 setter 方法的属性名称以及使用 Reflection 功能动态调用此类方法。您可以使用 BeanUtils 包中的 API 动态获取和设置 bean 属性。

JavaBean 属性类型分为三种类型(某些属性类型受 JavaBeans 规范支持,而有些受 BeanUtils 包支持):

  1. Simple :简单属性包含可以检索或更改的单个值。您可以使用 Java 语言基元这样的属性类型,例如 int、简单的对象(例如 java.lang.String)或复杂的类(通过使用 Java 语言、应用程序或应用程序中的类库指定)。

  2. Indexed :有序的对象集合可以存储在通过使用整数值、非负索引或下标单独访问的索引属性中。BeanUtils 包包含在 JavaBeans 规范中必须编制索引的 datatype java.util.List。

  3. Mapped :BeanUtils 包包含 datatype java.util.Map,该 datatype 应映射到标准 JavaBeans API 中,并且可以使用字符串值键设置和访问各个值。

您可以使用 PropertyUtils 类中指定的 API 方法获取和设置 datatypes 的属性值。考虑下面定义了 getter 和 setter 方法的两个 bean 类的代码段:

public class Employee {
   public FullName getFullName();
   public void setFullName(String type, FullName fullname);
   public Employee getSubordinate(int index);
   public void setSubordinate(int index, Employee subordinate);
   public String getFirstName();
   public void setFirstName(String first_name);
   public String getLastName();
   public void setLastName(String last_name);
}