首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

EJB 專用術語速查手冊:從 Bean Instance 到 Transaction Attribute 完整解析

     編輯:Java 程式設計入門

前言:術語是進入 EJB 世界的鑰匙

J2EE 學習初期,密集的專業術語常令人望而生畏。本文整理 EJB 核心術語,以「中英對照 + 一句話定義 + 關鍵關聯」形式呈現,助你快速建立概念地圖。

核心術語表

術語中文核心定義關鍵關聯
Bean Instance Bean 實例 Bean 在容器中的具體化實例;若 Bean 比作 Class,Instance 即 Java Object 由容器管理生命週期、池化、激活/鈍化
Bean-Managed Persistence (BMP) Bean 管理持久化 開發者在 Bean 中手動編寫 JDBC 代碼實現資料存取;容器調用 ejbLoad()/ejbStore() 觸發同步 靈活但繁瑣,適用複雜 SQL、非標準映射場景
Container 容器 實作 Home/Remote 介面、管理實例池、攔截方法調用、維護事務完整性的運行時環境 通常一容器管理一 Bean 類型(規範允許多 Bean)
Container-Managed Demarcation 容器管理事務邊界 業務方法調用時容器自動開啟事務,方法結束自動提交/回滾;由事務屬性決定 對應 tx:required 等聲明式事務
Container-Managed Persistence (CMP) 容器管理持久化 開發者聲明持久化欄位,容器自動生成 SQL、同步狀態;欄位需在 Deployment Descriptor 定義 EJB 2.x 核心特性,後為 JPA 取代
Entity Bean 實體 Bean 代表可辨識的持久物件(如資料庫行、檔案、唯一資源);具有主鍵、可遠程存取 對比 Session Bean:有身份、可共享、持久
Home Interface Home 介面 客戶端用於創建/移除/查找 Bean 實例的介面;繼承 EJBHome,遵循 RMI 規範 Entity Bean 提供 findByPrimaryKey 等查詢方法
Remote Interface Remote 介面 定義客戶端可調用的業務方法集合;繼承 EJBObject,遵循 RMI 規範 網路透明調用入口,參數/返回值需可序列化
Session Bean 會話 Bean 為特定客戶端服務,無共享身份,超時自動銷毀;分 Stateful/Stateless 不直接持久化,協調 Entity Bean 完成業務流程
Session Synchronization 會話同步介面 Session Bean 可選實作;提供 beforeCompletion()(可否決提交)、afterCompletion()(知曉結果) 僅適用容器管理事務 (CMT) 的 Stateful Session Bean
Transaction Attribute 事務屬性 定義方法的事務邊界行為,六種值:
TX_NOT_SUPPORTED、TX_REQUIRED、TX_SUPPORTS、TX_REQUIRES_NEW、TX_MANDATORY、TX_BEAN_MANAGED
部署描述符或註解配置,核心聲明式事務機制

關鍵關係速記

客戶端
   │ (JNDI 查找)
   ▼
Home Interface ──創建/查找──▶ Bean Instance ◀── 容器管理 (池化、事務、安全、持久化)
   │                                      │
   │ (獲取 Remote 引用)                  │ (實作業務邏輯)
   ▼                                      ▼
Remote Interface ◀──業務調用──▶ Bean 類 (Entity/Session)

術語演進提示

  • EJB 3.0+:大幅簡化,Home/Remote 介面合併為無介面視圖,CMP 由 JPA 取代,事務屬性改用 @TransactionAttribute 註解
  • Spring:以 POJO + IoC/AOP 替代 EJB 重型模型,術語體系簡化為 Bean、Proxy、TransactionManager、Repository

結語:術語背後是架構哲學

每個術語都對應一個設計決策:容器管理 vs Bean 管理(控制權歸屬)、Entity vs Session(狀態所有權)、聲明式 vs 程式化(關注點分離)。看懂術語,就是看懂了分布式組件架構的權力分配圖譜。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved