前言
上一篇简单介绍了Java及J2EE的基本概念,本篇将开始进入主题,介绍基于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中的程序注释工具(即注解)和基于Hibernate的O/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)
我们知道JMS是Java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输,而且JMS支持两种消息模型:P2P(Point-to-Point,点对点模型)和Pub/Sub(Publish/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
- 顶