包含@ejbjava的词条
本篇文章给大家谈谈@ejbjava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中什么是EJB?
EJB
(Enterprise
JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。
在J2EE里,Enterprise
Java
Beans(EJB)称为Java
企业Bean,是Java的核心代码,分别是会话Bean(Session
Bean),实体Bean(Entity
Bean)和消息驱动Bean(MessageDriven
Bean)。
1.Session
Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session
Bean来为客户端服务。Session
Bean可以直接访问数据库,但更多时候,它会通过Entity
Bean实现数据访问。
2.Entity
Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity
Bean对象相当于新建一条记录,删除一个Entity
Bean会同时从数据库中删除对应记录,修改一个Entity
Bean时,容器会自动将Entity
Bean的状态和数据库同步。
3.MessageDriven
Bean是EJB2.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB实际上是一个异步的无状态Session
Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等待一个方法调用直到返回结果。
EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方,就是得有容器.
EJB必须生存在EJB容器中.这个容器可是功能强大之极!她首先要包装你BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过HOME/REMOTE接口来发生关系的.它负责你的BEAN的所有的吃喝拉萨睡,比如BEAN的持续化,安全性,事务管理...
Java程序员关于EJB
EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方,就是得有容器.EJB必须生存在EJB容器中.这个容器可是功能强大之极!她首先要包装你BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过HOME/REMOTE接口来发生关系的.它负责你的BEAN的所有的吃喝拉萨睡,比如BEAN的持续化,安全性,事务管理...
一.什么是 EJB?
一个技术规范:EJB 从技术上而言不是一种"产品"
EJB 是一种标准描述了构建应用组件要解决的:
可扩展 (Scalable)
分布式 (Distributed)
事务处理 (Transactional)
数据存储 (Persistent)
安全性 (Secure)
二.Sun 对 EJB 的期望
提供一个标准的分布的、基于 OO 的组件架构
屏蔽复杂的系统级功能需求
Write once, run anywhere
与非 Java 应用之间的互操作能力
兼容 CORBA 标准
三.为什么选择 EJB?
EJB 服务器完成"繁杂"的工作:应用开发人员关注于业务逻辑的实现而不是底层的实现机制(类似于 4GL 语言设计的目标)
支持事务处理
多个业务操作同时成功,或全部失败
可以通过在代码外的描述来定义事务处理级别
可扩展性
EJB 可以根据您应用的增长而扩展
EJB 服务器往往还提供了负载均衡和
安全性:由 EJB 服务器提供资源的访问权限控制
四.EJB 架构
为了满足架构的目标,规范中描述了
服务器 (Server)
容器 (Container)
类 (Class) 和实例 (Instance)
Home 和 Remote 接口
客户端 (Client)
五. 简化的编程模型
关注于业务逻辑实现:EJB 负责生命周期 (lifecycle), 数据存储 (persistence), 事务处理语义 (transactional semantic), 安全(security), ...
通用的编程模型:各种服务的高层 API
Java 是其编程语言
EJB( 业务逻辑代码 ) 表示了与特定商业领域(例如银行、零售等行业)相适应的逻辑。它由
运行在业务逻辑层的 enterprise bean 处理。一个 enterprise bean 可以从客户端接受数据,对
它进行处理,并将其发送到企业信息系统层以作存储;同时它也可以从存储器获取数据,
处理后将其发送到客户端应用程序。
有三种类型的 enterprise beans:session beans、entity beans 和 message-driven beans。
Session bean 描述了与客户端的一个短暂的会话。当客户端的执行完成后,session bean 和
它的数据都将消失;与之相对应的是一个 entity bean 描述了存储在数据库表中的一行持久
稳固的数据,如果客户端终止或者服务结束,底层的服务会负责 entity bean 数据的存储。
Message-driven bean 结合了 session bean 和 Java 信息服务(JMS)信息监听者的功能,它允
许一个商业组件异步地接受 JMS 消息。
关于JavaEE中的EJB容器的理解
你没有接触过 EJB 2.0 所以有些东西少了些基础。
放一个 @EJB 注入资源,本身由服务器自动完成了一些事情,以前 EJB 2.0 的时代我们需要明确的去 RevervationHome home = new InitalContext().lookup("java:comp/env/ejb/RevervationDAO") 去拿一个 Home,然后 Reversation service = home.create() 得到一个 Dao 的 EJB 实例(实际上得到的是一个 Stub,你把类名 serivce.getClass().getName() print 出来看一下),因为对于无状态的 session EJB 来说,不需要参数也不需要“开始和结束”的声明,我们没必要每次都手工做,因此 EJB 3.0 开始就让服务器自动帮我们完成这些了,我曾经写一个 EJB 2.0 程序放在服务器上运行,然后写一个 EJB 3.0 的客户端程序来调用 EJB,它能正常工作,也就是说,背后要做的事情并没有少,只是有些步骤自动完成了而已,我们依然可以手工完成这些步骤。
我们要知道的是,写了@EJB 并不是直接 new 了一个实例,而是通过 JNDI lookup 得到了一个 Stub 而已。
你可以在 IBM 网站上找一个 Hello, World EJB 2.0 样例看,一般文章会先大致说一下开发的过程需要做几件事,然后写段代码来演示一下。
光看代码样例的话,很多背景知道是很难从代码中了解到的。我们需要找其它相关的 J2EE 开发基础知道看了才知道。
java和EJB有什么区别?
它太长了,我简短的来说
比如做一个工程就和盖房子,
如果,你会java,那么你就拥有了基本的技能,一步一步累砖,总能把房子盖好
但是EJB就是一个框架,盖房子的时候,先有这个框架,然后你根据这个框架去
累砖,房子就会盖的又快又好。
java是基础,EJB是在java上发展出来的模型,框架。
EJB与java三大框架的区别?
EJB 可以简单理解为三层 实体、业务 和 数据库
而三大框架 struts 是对页面展示的扩展 和ejb没关系
hibernate 是对数据库的改变 把关系数据库变成对象数据库
spring是对项目的管理 降低耦合性的
框架只是对某一块的规范 和扩展
EJB是一个项目的层次的搭建
比如 页面 、业务、实体、数据库
而要扩展页面的展示 有个struts的框架
要把数据库搞的灵活些(用hibernate如果从oracle换到mysql 就换个驱动就成 不用怎么改代码)用hibernate
关于@ejbjava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。