📜  EJB-概述(1)

📅  最后修改于: 2023-12-03 15:00:34.975000             🧑  作者: Mango

EJB(Enterprise JavaBeans)

概述

EJB(Enterprise JavaBeans)是一种Java EE(Enterprise Edition)中的组件化架构,它提供了一种分布式计算模型,使得开发人员可以专注于业务逻辑的编写,而不必考虑硬件和底层软件的支持问题。EJB为企业级应用提供了基于组件的模型,可以通过本地或远程调用来访问。EJB具有以下特点:

  1. 分布式计算能力
  2. 事务管理
  3. 持久化
  4. 安全管理
  5. 生命周期管理
EJB分类

EJB分为三种类型:会话Bean、实体Bean和消息驱动Bean。

1. 会话Bean

会话Bean是一个可以与客户端进行多次交互的Java对象。它包括两种类型:Stateless Session Bean和Stateful Session Bean。

  • Stateless Session Bean:无状态会话Bean,不保存任何客户端状态信息。每次方法调用都是独立的,可适用于高并发场景。
  • Stateful Session Bean:有状态会话Bean,保存客户端的状态信息。客户端与Bean建立一次通信后,Bean将一直保存客户端的状态信息,直到客户端主动关闭通信。可用于需要长时间连接的场合。
2. 实体Bean

实体Bean是一个Java对象,可以映射到一个数据库表中。实体Bean具有持久化能力,可以使用JPA(Java Persistence API)来管理。实体Bean分为两种类型:Container-Managed Persistence(CMP)实体和Bean-Managed Persistence(BMP)实体。

  • CMP实体:容器管理的实体,容器在运行期间负责实体和数据库表之间的映射和持久化。使用框架简单,但开发人员不容易控制细节。
  • BMP实体:Bean管理的实体,开发人员自己编写实体和数据库表之间的映射和持久化代码。比较灵活,但需要详细的数据库操作经验。
3. 消息驱动Bean

消息驱动Bean是一种轻量级的组件,用于处理JMS(Java Message Service)消息。它可自动地接收消息,并执行处理器方法。

EJB开发

EJB开发需要使用EJB容器,可以使用Java EE服务器(如Weblogic、WebSphere、JBoss等)或开源服务器(如GlassFish、TomEE等)。开发步骤如下:

  1. 创建EJB项目
  2. 定义Bean接口和Bean实现类
  3. 配置Bean属性
  4. 部署EJB模块到EJB容器中
  5. 客户端通过JNDI(Java Naming and Directory Interface)查找并调用Bean
总结

EJB是Java EE中的一个重要组件,提供了强大的分布式计算、事务管理、持久化、安全管理和生命周期管理等功能。了解EJB的分类和开发步骤,可以让程序员更好地运用EJB来开发企业级应用程序。