EJB入门解析:Session Beans与Entity Beans

需积分: 0 1 下载量 190 浏览量 更新于2024-09-19 收藏 64KB DOC 举报
"EJB 入门介绍" EJB,全称为 Enterprise JavaBeans,是 Sun Microsystems 推出的一种服务器端组件模型,旨在为开发分布式、基于对象的电子商务系统提供标准框架。EJB 的核心优势在于其完全基于 Java 语言,实现了跨平台的可移植性,简化了企业级应用的开发和部署。 EJB 组件由 Java 类和一个 XML 文件组成,这些类需要遵循特定的设计模式并实现预定义的接口,以确保组件的正确交互。EJB 规范定义了两类主要的组件:Session Beans 和 Entity Beans。 Session Beans 是为单个用户服务的组件,它们可以视为客户端业务逻辑的扩展。根据是否维护客户端状态,Session Beans 分为两种类型: 1. Stateless Session Beans(无状态会话 Bean):不保存任何客户端状态,每个方法调用都是独立的。无状态会话 Bean 通常用于不涉及持久化状态的服务,因为它们可以复用,从而更高效地处理大量并发请求。容器会管理一个无状态会话 Bean 实例池,根据需要分配给客户端。 2. Stateful Session Beans(有状态会话 Bean):能够跟踪和保存客户端的状态,允许在多个方法调用之间保持数据。对于需要用户会话状态的应用场景,如在线购物车,Stateful Session Beans 是理想选择。每个客户端请求都会对应一个独一无二的 Stateful Session Bean 实例。 Entity Beans(实体 Bean)则代表了数据库中的数据,提供了面向对象的表示形式。它们的设计允许多个用户安全地并发访问,类似于数据库记录。实体 Bean 的生命周期与其所表示的数据生命周期同步,通常用于持久化存储。Entity Beans 又分为两种类型:Bean 管理的持久性(BMP,Bean-Managed Persistence)和容器管理的持久性(CMP,Container-Managed Persistence)。CMP 由容器负责数据的存储和检索,而 BMP 则允许开发者更直接地控制数据操作。 EJB 还包括 Message-Driven Beans(消息驱动 Bean),这类组件用于处理 JMS(Java Message Service)消息,通常用于异步处理任务,例如后台服务或批处理作业。 EJB 提供了一套完整的框架,包括事务管理、安全性、生命周期管理以及远程访问等服务,使得开发者可以专注于业务逻辑,而不是底层基础设施。随着 Java EE(现在称为 Jakarta EE)的发展,EJB 规范也在不断演进,以适应现代云计算和微服务架构的需求。