一、为什么使用EJB ?

企业Bean执行在EJB容器中。企业Bean实际上就是一个封装了业务逻辑的Java类,那么我们为什么要使用EJB呢 ?

1.最重要的原因:分布式。简要的说,分布式能够将分布在各处的资源综合利用,可是对于用户来说展现的是一个统一的总体;分布式能够动态分配任务,分散物理的和逻辑的资源。从而提高运行效率;分布式技术能够避免因为单个节点失效而使整个系统崩溃的危急。

2.分布式对象之间的事务支持,RMI(Remote
Method Invocation,远程方法调用)不支持事务。

3.支持不同的client,仅仅要少量代码。就能够让远程client訪问到企业Bean。

    二、EJB的基本分类

    1.Session Bean

即会话Bean。能够运行业务逻辑操作。如注冊用户、订单登记等。

问:什么是会话?

答:即从client获得EJB对象開始,然后调用EJB的方法(能够多次),直到client声明周期结束或client释放了EJB对象为止,称为一次会话。

问:Stateful Session Bean 和Stateless
Session Bean有什么差别?

答:Stateful
Session Bean 即有状态的Session Bean,Stateless Session Bean即无状态的Session Bean。所谓的有状态和无状态,是由Session Bean的成员变量决定的。

·Stateful Session Bean:即EJB可以为同一个client在多次请求(方法调用)之间保持状态信息。

·Stateless Session Bean:并不是是说EJB不能存在状态,而是说EJB容器不会对EJB的状态做管理。

简言之,有状态的Session Bean,即client每次请求都会创建一个新的对象;

无状态的Session Bean,就是client每次请求都訪问的一个对象。

2.Message Driven Bean



    Java 消息服务( Java Message
Service。 简称 JMS) 是企业级消息传递系统, 紧密集成于 Jboss Server 平台之中。

企业消息传递系统使得应用程序可以通过消息的交换与其它系统之间进行通信。

    消息驱动 Bean(MDB)是设计用来专门处理基于消息请求的组件。 它是一个异步的无状态 Session Bean, client调用 MDB 后无需等待, 立马返回,
MDB 将异步处理客户请求。


    3.Entity Bean

持久化是位于 JDBC 之上的一个更高层抽象。持久层将对象映射到数据库,以便在查询、 装载、 更新, 或删除对象的时候, 无须使用像 JDBC 那样繁琐的 API。

在 EJB 的早期版本号中。持久化是 EJB 平台的一部分。

从 EJB 3.0開始, 持久化已经自成规范,
被称为 Java Persistence API。

Java Persistence API 定义了一种方法,能够将常规的普通 Java 对象(有时被称作 POJO)映射到数据库。 这些普通 Java 对象被称作 Entity Bean。

EJB学习(四)——Enterprise Bean(企业Bean)和Entity Bean(实体Bean)的更多相关文章

  1. EJB学习笔记

      1 J2ee概述 J2ee是企业级的计算平台,它为分布式和基于组件的软件开发提供了一个“操作系统” Ant是什么工具?? EJB: 什么是EJB? 是一种server端组件结构,简化了开发分布式企 ...

  2. EJB学习

    EJB:企业级JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件. EJB主要有三种Bean: Session Beans: 会在单个特 ...

  3. [spring源码学习]四、IOC源码——普通bean初始化

    一.代码例子 此节开始涉及到一个bean具体生成和保存的过程,仅仅涉及到最简单的bean,代码依旧是最简单的 public static void main(String[] args) { Defa ...

  4. [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. J2EE的十三个技术——EJB之实体Bean

    概述: 实体Bean与会话Bean不同,实体Bean是持久的,即使应用程序结束,它仍然存在.它允许共享访问,具有主键. 组成: 1)本地(Local)接口 本地访问EJB,只有在EJB与客户在同一个应 ...

  6. Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean

    1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...

  7. spring深入学习(二)-----bean的生命周期、IOC容器bean装配

    bean的生命周期 1.实例化Bean对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用createBea ...

  8. 我的EJB学习历程

    http://blog.csdn.net/sinapaper/archive/2004/06/28/28659.aspx http://blog.csdn.net/sinapaper/archive/ ...

  9. 持久化API(JPA)系列(三)实体Bean的开发技术-建立与数据库的连接

    在EJB 2.x中.EJB有3种类型的Bean.各自是会话Bean(Session Bean).消息驱动Bean(Message-Driven Bean)和实体Bean(Entity Bean). 随 ...

  10. EJB_开发单表映射的实体bean

    开发单表映射的实体bean 实体bean 它属于java持久化规范(JPA)里的技术,实体bean通过元数据在Javabean和数据库表之间建立起映射关系,然后Java程序员就可以随心所欲的使用面向对 ...

随机推荐

  1. Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译

    1. 下载irrlicht1.8.4 https://nchc.dl.sourceforge.net/project/irrlicht/Irrlicht%20SDK/1.8/1.8.4/irrlich ...

  2. [XJOI]noip43 T2多人背包

    多人背包 DD 和好朋友们要去爬山啦!他们一共有 K 个人,每个人都会背一个包.这些包的容量是相同的,都是 V.可以装进背包里的一共有 N 种物品,每种物品都有给定的体积和价值.在 DD 看来,合理的 ...

  3. iterator和iterable的区别

    相关博客:  http://blog.csdn.net/lipengcn/article/details/51700153         Java中Iterable和Iterator的辨析 http ...

  4. ES6变量的解构赋值

    变量的解构赋值 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 6.圆括号问题 7.用途 1.数组的解构赋值 ES6 允许写成下面这样 ...

  5. JS和PHP之间以JSON格式传输

    Json是一种的轻量级文本数据交换格式.它独立于编程语言,可以用于在不用的编程语言之间进行数据的交互. 下面简单例举二个使用JSON进行数据通信的例子. 第一个例子: //Javascript以aja ...

  6. 大白话理解this

    日常开发中,我们经常用到this.一开始常会用一种感觉去判断this的指向,当遇到复杂的函数调用时,就分不清this的指向. 今天我们来由浅入深来学习下. function family1(){ va ...

  7. mybatis学习笔记之学习目录(1)

    mybatis学习笔记之学习结构(1) 学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发 ...

  8. 关于H5移动端开发 iPhone X适配

    一. 媒体查询. @media screen and (device-width:375px) and (device-height:812px){ #header { height: 88px; p ...

  9. 【原创】IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的。

    websphere中间件,在打开一个jsp页面时报: IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的. . ...

  10. 创建一个dynamics CRM workflow (二) - Build in Workflows

    这里我们不着重讲解build in workflow. 但是, 如果要上手custom workflow, 我们必须要了解 build in workflow. build-in workflow 在 ...