JavaBean(EJB) 3.0 全新体验

2016-01-29 12:54 3 1 收藏

JavaBean(EJB) 3.0 全新体验,JavaBean(EJB) 3.0 全新体验

【 tulaoshi.com - Java 】

  引言

  期待以久的EJB3.0规范在最近发布了它的初稿。在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等。作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系。

  开始

  无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好。EJB大概是J2EE架构中唯一一个没有兑现其能够简单开发并提高生产力的组建。EJB3.0规范正尝试在这方面作出努力以减轻其开发的复杂性。EJB3.0减轻了开发人员进行底层开发的工作量,它取消或最小化了很多(以前这些是必须实现)回调方法的实现,并且降低了实体Bean及O/R映射模型的复杂性。

  在本文中,我首先会介绍EJB3.0中几个主要的改变。它对进一步深入了解EJB3.0是非常重要的。随后,我会从更高的层面来描述已经被提交到EJB3.0规范中的细节,并一个个的讲解新的规范中的改变:实体Bean,O/R映射模型,实体关系模型和EJB QL(EJB查询语言)等等。

  背景

  EJB3.0中两个重要的变更分别是:使用了Java5中的程序注释工具和基于Hibernate的O/R映射模型。

  Java5中的元数据工具

  Java5(以前叫J2SE1.5或Tiger)中加入了一种新的程序注释工具。通过这个工具你可以自定义注释标记,通过这些自定义标记来注释字段、方法、类等等。这些注释并不会影响程序的语义,但是可以通过工具(编译时或运行时)来解释这些标记并产生附加的内容(比如部署描述文件),或者强制某些必须的运行时行为(比如EJB组件的状态特性)。注释的解析可以通过源文件的解析(比如编译器或这IDE工具)或者使用Java5中的APIs反射机制。注释只能被定义在源代码层。由于所有被提交到EJB3.0草案中的注释标记都有一个运行时的RetentionPolicy,因此会增加类文件占用的存储空间,但这却给容器制造商和工具制造商带来了方便。

  Hibernate

  目前Hibernate非常受欢迎,它是开发源代码的Java O/R映射框架,目的是把开发人员从繁琐的数据持久化编程中解脱出来。它也有一个标准的HQL(Hibernate 查询语言)语言,你可以在新的EJB QL中看到它的影子。Hibernate在处理如数据查询、更新、连接池、事务处理、实体关系处理等方面非常简单。

  概览
  
  在已经提交的EJB3.0规范中主要涉及两个方面的改变:

  1. 一套以注释为基础的EJB编程模型,再加上EJB2.1中定义的通过部署描述符和几个接口定义的应用程序行为。

  2. 新的实体Bean持久化模型,EJBQL也有许多重要的改变。

  还有一些有关上述的提议,比如:一个新的客户端编程模型,业务接口的使用以及实体Bean的生命周期。请注意EJB2.1编程模型(包括部署描述符和home/remote接口)仍然是有效的。新的简化模型并没有完全取代EJB2.1模型。

  EJB注释

  EJB规范组织一个重要的目标是减轻原始代码的数量,并且他们为此给出了一个完美而简介的办法。在EJB3.0的里,任何类型的企业级Bean只是一个加了适当注释的简单Java对象(POJO)。注释可以用于定义bean的业务接口、O/R映射信息、资源引用信息,效果与在EJB2.1中定义部署描述符和接口是一样的。在EJB3.0中部署描述符不再是必须的了;home接口也没有了,你也不必实现业务接口(容器可以为你完成这些事情)。

  比如,你可以使用@Stateless注释标记类把Java类声明为一个无状态回话bean。对于有状态回话bean来说,@Remove注释可以用来标记一个特定的方法,通过这个注释来说明在调用这个方法之后bean的实例将被清除掉。

  为了减少描述组件的说明信息,规范组织还采纳了由异常进行配置(configuration-by-exception)的手段,意思是你可以为所有的注释提供一个明确的缺省值,这样多数常规信息就可以据此推断得出。

  新的持久化模型

  新的实体bean也是一个加了注释的简单Java对象(POJO)。一旦它被EntityManager访问它就成为了一个持久化对象,并且成为了持久化上下文(context)的一部分。一个持久化上下文与一个事务上下文是松耦合的;严格的讲,它隐含的与一个事务会话共存。

  实体关系也是通过注释来定义的,O/R映射也是,并提供几种不同的数据库规范操作,在EJB2.1中这些要通过开发人员自己的设计模式或者其它技术来完成的(比如,自增长主键策略)。

  深入研究

  现在是时候详细了解EJB3.0草案了。让我们开始探讨所有EJB中四种企业级bean,并看看他们在新的规范中是什么样子。

  无状态回话bean

  在EJB3.0规范中,写一个无状态回话bean(SLSB)只需要一个简单的Java文件

来源:https://www.tulaoshi.com/n/20160129/1488044.html

延伸阅读
打折多:全新体验时尚优惠券 时代的步伐越来越快,我们拿什么来追赶?是忙碌的身影还是紧绷的神经?工作上,骑自行车上班的时代已经远去;学习上,我们通过因特网了解世界;生活上,我们越来越追求高品质的享受。方便快捷似乎已经成为我们活着的唯一目标。 既然网络潮流已经势不可挡,那我们就以更加优雅的姿势来迎接吧。 今天小编要...
标签: CorelDRAW
CorelDRAW X3新增了 智能填充工具(Smart Fill Tool) ,在工具栏中它和智能绘图工具并处,而和其它相关填充工具如填充,交互式填充和网格填充等工具独立分开,可见它的特殊性。这个智能填充工具“智能”在何处呢?从图标上我们可以直观地看出,它主要是对重叠区域的填充控制。 智能填充工具的作用 范围 根据用途来说,智...
标签: 电脑入门
WPS 2010 基于云办公的理念,让用户可以在办公室、学校或家里最高效地完成工作。让连接至Internet的每台计算机,让世界不同角落的人们同时协作自己的文件。 1.前所未有的性能提升 WPS2010中包括了全新的文字排版引擎,他赋予文字前所未有的性能提升。可以说是有史以来最快的一款Office(比WPS Office 2003快十倍)。这意味着像文档打开、编辑排...
标签: 办公软件
Microsoft Office Word 2007使用技巧 Tips 1:更直观地比较文档内容 在进行文档的修订时,很难区分修订前的内容和修订后的内容,Office Word 2007 增强的“比较”文档功能,可以更加直观的浏览文档修订前、后的不同。 首先,单击功能区中的“审阅”标签,然后单击“比较”选项组中的“比较”按钮,并在其下拉菜单中执行“比较”命令,打开“...
标签: CorelDRAW
CorelDRAW是平面图形设计和印刷中常用的设计软件,具有非常友好的界面和丰富全面的功能。笔者从8.0版本开始接触,多年来一直追随,从9.0,10.0…直到今天的X3,可谓“情深意浓”。 Corel公司于2006年1月17日推出了最新的CorelDRAW Graphics Suite,简称“CorelDRAW X3”(应该是V13版)。Corel公司表示:“Corel公司开发团队进行了前所...

经验教程

811

收藏

70

精华推荐

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部