Java BeanUtils - 背景


描述

Java 语言的标准 JavaBean 可以通过适当的 getter 方法来访问 bean 的属性值。Java 语言提供java.beans.Introspector类来在运行时检查 Java 类。这指示gettersetter方法的属性名称以及动态调用此类方法的反射功能。您可以通过使用 BeanUtils 包中的 API 来动态获取和设置 bean 属性。

JavaBean属性类型分为三种类型(一些属性类型由JavaBeans规范支持,一些属性类型由BeanUtils包支持):

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

  • Indexed:对象的有序集合可以存储在索引属性中,可以使用整数值、非负索引或下标单独访问该属性。BeanUtils包包含名为java.util.List 的数据类型必须在 JavaBeans 规范中建立索引。

  • MappedBeanUtils包包含名为java.util.Map的数据类型,该数据类型应在标准 JavaBeans API 中映射,并且可以使用字符串值键来设置和访问各个值。

您可以使用PropertyUtils类中指定的 API 方法获取和设置数据类型的属性值。考虑下面使用gettersetter方法定义的两个 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);
}