什麼是 JavaBean?
JavaBean 是符合特定慣例的 Java 類別,可被視覺化建構工具(IDE 設計師)拖拉放置、屬性編輯、事件連線、持久化儲存。廣泛用於 GUI 元件、非視覺邏輯組件(如拼字檢查)、Applet 等。
四大核心規範 (必須滿足)
- 實作
Serializable: 支援持久化(序列化/反序列化)。
- 無參數建構子: 工具需能無條件實例化。
- 屬性存取慣例:
getProperty()/setProperty() (非布林)、isProperty() (布林),統稱 Getter/Setter。
4. 事件處理方法: 遵循註冊/移除監聽器慣例。
內省機制
工具透過 java.beans.Introspector 發現 Bean 特徵,兩種方式:
- 設計模式慣例: 依命名規則自動推導 (反射 API)。
- BeanInfo 類別: 顯式實作
BeanInfo 介面,精確控制公開特徵。
屬性、事件與持久化
| 面向 | 說明 |
| 屬性 | 外觀與行為特徵,設計時可修改。工具透過屬性編輯器或客製化器 (Customizer) 進行視覺化編輯。 |
| 事件 | Beans 通訊機制。事件源 (Source) 觸發,監聽器 (Listener) 接收。註冊方法 addXxxListener()/removeXxxListener()。標準事件:焦點、滑鼠、鍵盤等。 |
| 持久化 | 利用 Java 序列化儲存狀態,修改屬性後可存檔、還原。所有 public 方法預設對外可呼叫。 |
事件集結構
- 事件監聽器介面: 定義處理方法 (如
KeyListener.keyPressed())。
- 事件物件: 承載參數,繼承
java.util.EventObject (如 KeyEvent)。
- 註冊方法:
addKeyListener()/removeKeyListener(),參數為實作監聽器介面的物件。
命名慣例:事件名 (Key) 出現在監聽器介面、事件物件、註冊方法中。自訂事件同樣遵循此慣例。
標準元件庫支援
AWT、Swing、SWT 所有元件皆遵循 JavaBeans 規範,確保 Eclipse Visual Editor、IntelliJ GUI Designer 等工具能正確識別層次、編輯屬性、連線事件。
- 上一篇文章: Grails 整合 EJB3 Domain Model:企業級 RAD 新選擇
- 下一篇文章: EJBCA 3.0 開源 CA 系統核心特性與架構概覽
Copyright ©
程式碼之家 All Rights Reserved