当前位置: 代码迷 >> J2EE >> 基于J2EE轨范的中间件——EJB简介
  详细解决方案

基于J2EE轨范的中间件——EJB简介

热度:241   发布时间:2016-04-22 00:52:25.0
基于J2EE规范的中间件——EJB简介

前言

上一篇简单介绍了JavaJ2EE的基本概念,本篇将开始进入主题,介绍基于J2EE的中间件,也就是EJB的开发。

 

正题

什么是EJB

 

EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。

 

在J2EE里,EnterpriseJava Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(EntityBean)和消息驱动Bean(MessageDriven Bean)。

 

为什么选择EJB,什么情况下选择EJB

 

选择EJB最重要的理由:EJB支持分布式对象间的事务。

 

由于J2SE中的RMI不支持事务,因此在J2EE中我们提出了EJB来对其进行改进,EJB可以支持分布式对象间的事务。

 

如果应用需要分布式部署,分布对象需要支持事务,关键业务逻辑需要支持不同类型客户端,此时你就可以选择EJB来进行开发。

 

EJB3的出现

 

EJB3出现之前,开发用的最多的就是EJB2,但是由于EJB2的笨重复杂,遭到了许多人的吐槽,于是Sun在大家都呼声中又推出了轻便的EJB3

 

EJB3中两个重要的变更分别是:使用了Java5中的程序注释工具(即注解)和基于HibernateO/R映射模型。

 

EJB3基本分类

Session Bean(会话Bean

Session Bean用于实现业务逻辑,它可以是有状态的(Stateless Session Bean),也可以是无状态的(Stateful Session Bean)。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。

 

Entity Bean(实体Bean

实体Bean就是我们所说的实体类,是持久化Bean,它用来映射数据库中的数据,但是EJB中的实体Bean在具体的使用(比如映射规则等)中跟我们之前所学的Hibernate会有所不同,关于这个不同会在后面的实例介绍中展示。

 

Message Driven Bean(消息驱动Bean

我们知道JMSJava的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输,而且JMS支持两种消息模型:P2P(Point-to-Point,点对点模型)和Pub/SubPublish/Subscirbe,发布/订阅模型)

JMS有个简单认识之后,消息驱动Bean就好理解了,它就是JMS的一个载体,实现了JMS服务,是一个用于异步通信的Bean

 

接下来将会对每一种EJB进行实例开发,下一篇介绍EJB开发的环境搭建。。。


3楼xiongdy6天前 21:47
请问楼主会应用么?我只知道轻量级的spring,以前培训时讲师只说过EJB是重量级的。
Re: zhaodandan199103064天前 12:07
回复xiongdyn只会简单的应用,目前还在学习中
2楼lfmilaoshi6天前 11:40
期待。。。。米老师
1楼wangyuetingtao6天前 10:27
  相关解决方案