小魔女 发表于 2015-1-18 11:41:02

JAVA教程之企业JavaBean(EJB) 3.0 全新体验

多谢指点,其实我对.net和ruby也不是很了解,对与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映照模子,实体干系模子和EJBQL(EJB查询言语)等等。

  背景

  EJB3.0中两个主要的变动分离是:利用了Java5中的程序正文工具和基于Hibernate的O/R映照模子。

  Java5中的元数据工具

  Java5(之前叫J2SE1.5或Tiger)中到场了一种新的程序正文工具。经由过程这个工具你能够自界说正文标志,经由过程这些自界说标志来正文字段、办法、类等等。这些正文其实不会影响程序的语义,可是能够经由过程工具(编译时或运转时)来注释这些标志并发生附加的内容(好比部署形貌文件),大概强迫某些必需的运转时举动(好比EJB组件的形态特征)。正文的剖析能够经由过程源文件的剖析(好比编译器或这IDE工具)大概利用Java5中的APIs反射机制。正文只能被界说在源代码层。因为一切被提交到EJB3.0草案中的正文标志都有一个运转时的RetentionPolicy,因而会增添类文件占用的存储空间,但这却给容器打造商和工具打造商带来了便利。

  Hibernate

  今朝Hibernate十分受接待,它是开辟源代码的JavaO/R映照框架,目标是把开辟职员从烦琐的数据耐久化编程中摆脱出来。它也有一个尺度的HQL(Hibernate查询言语)言语,你能够在新的EJBQL中看到它的影子。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文件并在类层加上@Stateless正文就能够了。这个bean能够扩大javax.ejb.SessionBean接口,但这些不是必需的。

  一个SLSB不再必要home接口,没有哪类EJB再必要它了。Bean类能够完成营业接口也能够不完成它。假如没有完成任何营业接口,营业接口会由恣意public的办法发生。假如只要几个营业办法会被表露在营业接口中,这些办法可使用@BusinessMethod正文。缺省情形下一切发生的接口都是local(当地)接口,你也能够利用@Remote正文来声明这个接口为remote(远程)接口。

  上面的几行代码就能够界说一个HelloWorldbean了。而在EJB2.1中一样的bean最少必要两个接口,一个完成类和几个空的完成办法,再加上部署形貌符。

importjavax.ejb.*;

/**
*Astatelesssessionbeanrequestingthataremotebusiness
*interfacebegeneratedforit.
*/
@Stateless
@Remote
publicclassHelloWorldBean{
 publicStringsayHello(){
  return"HelloWorld!!!";
 }
}

学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解

活着的死人 发表于 2015-1-21 12:47:06

是一种为 Internet发展的计算机语言

简单生活 发表于 2015-1-25 15:24:44

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

变相怪杰 发表于 2015-1-30 23:55:18

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

柔情似水 发表于 2015-2-1 17:04:31

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

爱飞 发表于 2015-2-7 10:28:49

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

因胸联盟 发表于 2015-2-10 18:43:52

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

admin 发表于 2015-3-1 13:47:54

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

仓酷云 发表于 2015-3-1 15:39:44

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

透明 发表于 2015-3-4 20:04:28

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

冷月葬花魂 发表于 2015-3-5 22:15:08

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

谁可相欹 发表于 2015-3-12 15:52:49

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

乐观 发表于 2015-3-17 05:09:10

是一种使用者不需花费很多时间学习的语言

第二个灵魂 发表于 2015-3-20 06:58:10

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

海妖 发表于 2015-3-25 06:04:00

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

蒙在股里 发表于 2015-3-25 11:17:59

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

若相依 发表于 2015-3-28 12:26:29

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

兰色精灵 发表于 2015-3-28 18:17:02

是一种语言,用以产生「小应用程序(Applet(s))

小魔女 发表于 2015-4-5 02:40:21

是一种为 Internet发展的计算机语言

只想知道 发表于 2015-4-6 17:16:24

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
页: [1] 2
查看完整版本: JAVA教程之企业JavaBean(EJB) 3.0 全新体验