EJB入门:企业级JavaBean详解与应用

需积分: 1 1 下载量 140 浏览量 更新于2024-08-14 收藏 13.57MB PPT 举报
"该资源是关于EJB(Enterprise JavaBeans)入门的经典教程,主要讨论了账户开户事务和统计事务的示例,同时提及EJB在分布式业务应用中的角色及其三种核心组件:会话Bean、实体Bean和消息驱动Bean。此外,提到了EJB的事务性和在不同服务器平台上的部署,以及JNDI的作用。" Enterprise JavaBeans (EJB) 是Java EE(现在称为Jakarta EE)框架中的核心组成部分,它为开发分布式、可扩展、事务管理和安全的业务应用程序提供了一个标准模型。EJB允许开发者创建可以在多种服务器平台上运行的服务端组件,例如jboss、weblogic等。 EJB的核心组件包括: 1. **会话Bean**: - 会话Bean是业务逻辑的载体,分为有状态会话Bean和无状态会话Bean。有状态Bean能保留与客户端交互的信息,而无状态Bean则不保存这些信息。它们通常负责调用数据库操作,通常通过实体Bean来完成数据访问。 2. **实体Bean**: - 实体Bean对应于数据库中的实体,负责对象与关系数据库之间的映射(O/R Mapping)。在EJB 3.0及以后的版本中,实体Bean变得更加轻量级,更像普通的Java对象。 3. **消息驱动Bean(MDB)**: - MDB用于处理基于消息的通信,它们接收并处理JMS消息,通常用于异步任务,当业务操作耗时较长且不需要立即返回结果时,MDB是一个理想的选择。 EJB需要在EJB容器中运行,这些容器通常集成在Java EE应用服务器中,如Jboss、Weblogic等。值得注意的是,纯Web容器,如Tomcat,不支持EJB的运行。 **Java Naming and Directory Interface (JNDI)**: JNDI是一个Java API,自JDK 1.3起被引入,它提供了一种统一的方式来访问各种命名和目录服务,如DNS、LDAP、Active Directory和RMI注册表。在EJB环境中,JNDI用于查找和绑定EJB组件,使得客户端可以透明地调用远程服务。 通过EJB,开发者可以编写一次代码并在任何兼容EJB的服务器上部署,这大大提高了代码的可移植性和应用的灵活性。在实际的银行系统中,如描述中的例子所示,EJB的事务管理能力对于确保数据一致性至关重要。例如,账户开户和账户数量统计这样的操作需要在事务中进行,以保证数据的准确性和一致性。当遇到并发问题,如“幻读”现象(12:05和12:06的时间点),EJB的事务特性可以帮助确定正确的统计状态。