- Java BeanUtils 教程
- Java BeanUtils - 首頁
- Java BeanUtils - 概述
- 動態 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延遲載入 DynaBeans
- 資料型別轉換
- 背景
- BeanUtils 和 ConvertUtils
- 建立自定義轉換器
- 區域感知轉換
- 實用工具物件和類
- 實用工具物件和類
Java BeanUtils - 概述
描述
Java BeanUtils 是 Apache Commons 的元件,它源自 Java API,併為 Java 語言提供了元件架構。Java BeanUtils 設計模式使用實用程式類,這些類有助於獲取和設定 Java 類上的屬性值,從而檢索和定義 Bean 屬性。
org.apache.commons.beanutils 包包含名為 introspection 的工具,該工具有助於在 Java 類上獲取和設定屬性值,並在開發工具中以視覺化方式顯示它們。
JavaBeans 特性
以下是 JavaBeans 的重要特性,這些特性在開發結構中非常有用:
該類應為 public,並提供一個沒有引數的公共建構函式。它允許工具和應用程式動態建立 Bean 的新例項,而無需知道將使用哪種 Java 類名,如下所示:
String className = ...; Class beanClass = Class.forName(className); Object beanInstance = beanClass.newInstance();
沒有引數的建構函式,其 Bean 的行為可以與其例項化分開配置。這可以透過使用 Bean 的屬性來實現,也可以用來修改 Bean 顯示的行為或資料。
Bean 屬性包含用於訪問屬性值的 setter 和 getter 方法。這些屬性的設計模式可以透過使用屬性名稱的 set 或 get 字首來指定,並使用 JavaBeans 規範將第一個字元大寫。例如,您可以為屬性 first_name 和 last_name 使用 setter 和 getter 方法,如下所示:
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(); }如果屬性名稱存在 getter 和 setter 方法,則 getter 應與 setter 資料型別匹配。在 JavaBean 規範中,您可以擁有多個名稱相同但屬性型別不同的 setter。
無需為每個屬性定義 getter 和 setter 方法。在上面的程式碼中,fullName 屬性沒有 setter 方法,它只是一個只讀屬性。
您可以建立一個 JavaBean,其中沒有命名模式的匹配項,方法是使用 getter 和 setter 方法。Java 中的 JavaBean 支援類和 BeanUtils 包可以使用 BeanInfo 類以及 Bean 類來指定屬性方法名稱。
JavaBeans 規範為事件偵聽器提供了設計模式,將 JavaBeans 組合到元件層次結構中,以及 BeanUtils 包的其他有用功能。
外部依賴
您可以為 commons-beanutils 包使用以下外部依賴項: