Java BeanUtils - 背景



描述

Java 語言的標準 JavaBeans 可以使用合適的 getter 方法來訪問 Bean 的屬性值。Java 語言提供了 java.beans.Introspector 類來在執行時檢查 Java 類。這指示了 gettersetter 方法的屬性名稱以及用於動態呼叫這些方法的 Reflection 功能。您可以使用 BeanUtils 包中的 API 動態地獲取和設定 Bean 屬性。

JavaBean 屬性型別分為三種類型(某些屬性型別由 JavaBeans 規範支援,而某些屬性型別由 BeanUtils 包支援)

  • 簡單:簡單屬性包含單個值,可以檢索或修改。您可以使用像 Java 語言基本型別(如 int)、簡單物件(如 java.lang.String)或複雜物件(由 Java 語言、應用程式或應用程式的類庫指定)這樣的屬性型別。

  • 索引:索引屬性可以儲存物件的排序集合,可以使用整數值、非負索引或下標分別訪問這些物件。BeanUtils 包包含名為 java.util.List 的資料型別,在 JavaBeans 規範中必須對其進行索引。

  • 對映BeanUtils 包包含名為 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);
}
廣告