規範文檔結構 (JSR 220)
- EJB 3 Simplified API:高度概括新開發模型。
- EJB 3 Core Contracts and Requirements:會話 Bean、消息驅動 Bean 技術細節。
- Java Persistence API (JPA):實體與持久化框架。
面向初級與資深開發者分層文檔。
核心架構變化
- EJB 3 包含會話 Bean、消息驅動 Bean;實體 Bean 由持久化提供器管理,不再由 EJB 容器管理 (重大變化)。
- 容器外使用實體 Bean → 新容器外持久化特性。
EJB 框架與核心特性
框架支持環境
容器事務、安全、資源池/緩存、組件生命周期、並發支持。
六大核心特性
| 特性 | 說明 |
| 聲明式元數據 | 註解或 XML 聲明 Bean/實體行為 |
| 按異常配置 | 僅非默認行為需顯式指定註解/XML |
| 可伸縮性 | 資源池最大化對象重用、持久化緩存避免重複查詢/創建 |
| JTA 分布式事務 | 標準 API,EJB 服務器作事務管理器 |
| 多層安全 | 綜合安全模型 |
| 可移植性/可重用性 | 實現 EJB 的任何 AS 部署、打包進多應用 |
| 持久化 | 實體 Bean → POJO,Home 接口 → EntityManager (單例工廠,管理生命周期) |
配置與進階機制
- XML 與註解並用時 XML 優先。
- 依賴注入:容器實例化 EJB 後、交付客戶前,按 Bean 定義原則初始化屬性。
- 攔截器:回調方法,Bean/實體遇生命周期事件調用自身或特定類方法。
- POJO 實現:默認構造器替代
ejbCreate()。
- 分布式計算模型、EJB 角色 (提供者/裝配者/部署者)。
開發者速查
- 實體類即 POJO,無需實現接口,用註解映射。
- 會話 Bean 用
@Stateless/@Stateful,業務接口用 @Local/@Remote。
- 事務屬性
@TransactionAttribute 可精細控制。
- JPA
EntityManager 注入或 JNDI 查找,支援容器管理/應用管理事務。