EJB面试关键点:核心概念与区别

需积分: 10 0 下载量 116 浏览量 更新于2024-09-11 收藏 285KB PDF 举报
"这篇面试题集主要关注Java企业级应用中的EJB(Enterprise JavaBeans)技术,涵盖了EJB的不同版本、EJB与JavaBean的区别以及EJB的主要技术实现和不同类型的Bean的特点。" EJB(Enterprise JavaBeans)是Java平台上用于构建可扩展且分布式的服务器端应用程序的核心组件。EJB标准定义了一系列接口和生命周期管理规则,使得开发人员可以专注于业务逻辑,而无需关心底层的系统管理细节。EJB2.0相比EJB1.1引入了更多的规范和改进,包括更丰富的接口、容器管理和部署模型,旨在提高可移植性和简化开发流程。 EJB2.0的主要内容包括: 1. Bean提供者:负责创建和实现EJB组件。 2. 应用程序装配者:将多个EJB组件组装成一个完整的应用程序。 3. EJB容器:提供EJB运行所需的环境,包括对象的创建、管理、事务处理、安全性等。 4. EJB配置工具:帮助开发者配置和部署EJB组件。 5. EJB服务提供者:提供网络、数据库连接、消息传递等基础设施服务。 6. 系统管理员:负责监控和管理EJB应用的运行环境。 EJB与JavaBean的主要区别在于它们的设计目标和使用场景: - JavaBean是轻量级的组件,主要用于构建用户界面,没有严格的规范,任何Java类都可以视为一个Bean,只要它有公共无参构造器并且实现了Serializable接口。 - EJB则是一种重量级的组件,设计用于处理复杂的分布式业务逻辑和数据管理。EJB必须运行在特定的容器(如应用服务器)中,由容器管理其生命周期和事务,提供远程访问能力。 EJB分为三种主要类型: 1. SessionBean:主要处理会话逻辑,不涉及持久化状态。SessionBean分为Stateful(有状态)和Stateless(无状态)。Stateful SessionBean能记住与客户端的交互状态,而Stateless SessionBean不保存状态,每次调用都独立于之前的调用。 2. EntityBean:对应数据库中的持久化实体,通常映射到数据库表。EntityBean有两种模式:Container-managed Persistence (CMP) 和Bean-managed Persistence (BMP),前者由容器管理数据存储,后者由开发者自己处理。 3. MessageDrivenBean:主要用于监听和处理JMS(Java Message Service)消息,实现异步处理。 EJB的实现技术包括: - JNDI(Java Naming and Directory Interface):用于查找和绑定EJB组件。 - RMI(Remote Method Invocation):支持远程对象调用,是EJB通信的基础。 - JTA(Java Transaction API):提供事务管理服务,确保EJB操作的一致性和原子性。 EJB是Java平台上的核心企业级服务,它提供了一套强大的框架,以构建可扩展、安全且事务化的分布式应用程序。理解EJB的概念和技术,对于Java开发者来说至关重要,特别是在面试中,展示对EJB的深入理解可以体现开发者在企业级开发领域的专业性。