来看J2EE探险者: 耐久数据办理,第2部分
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。使用程序组件应完成针对企业服务的哀求。要完成这些哀求,使用程序组件经常必需变动底层数据存储的形态。这些变动相对不克不及损坏耐久数据存储的完全性。(在有关数据耐久性的第一篇文章中,我们将耐久数据存储界说为自力的数据资本库,即便在服务器溃散或收集失利时,这个数据资本库也能回护个中的数据。)为了确坚持久性,使用程序组件必需能处置并发性、毗连办理、数据完全性和同步。J2EE的三种数据办理手艺都能为开辟职员处置这些功效,只不外每种手艺都有本人的处置办法。
上月我们切磋了实体bean和JDBC的优弱点。本月,我们将检察Java数据对象怎样与无形态会话bean组合,和该办理计划怎样与尺度实体bean使用程序举行对照。因为JDO还是一种相称新的手艺(最新的J2EE耐久性办理计划),以是我们将起首概述其事情道理。
JDO概述
久长以来,Java使用程序和耐久数据办理之间的干系一向是不简单处置的。很多耐久性机制以干系的办法而不是面向对象办法存储数据。即,数据存储在由包括字段的纪录构成的表中,而不是存储为自包括对象(这些对象具有外部数据和对别的对象的援用,而别的对象也具有外部数据和援用)。将面向对象的暗示转换成干系暗示一向就很贫苦、易堕落且会下降使用程序功能。直到比来,多数几个实质上长短干系型的耐久性机制(比方SQLBLOB和Java序列化)利用起来也很贫苦。年夜多半耐久性机制闪开发职员卖力处置耐久性,或利用非Java言语(比方SQL)与后端数据存储举行互相感化。
JDO的长处在于它很复杂。开辟职员利用Java言语耐久存储对象实例并从存储器检索实例。处置逻辑、同步和妨碍转移等均被通明地处置。开辟职员无需利用SQL或Java言语供应的方便的序列化机制,只利用POJO(无格局一般Java对象)便可,使用JDO接口将对象援用传送到存储器中并从存储器检索对象援用。
JDO还接纳了良多JDBC利用的初级系统布局。它利用一种可拔出的系统布局,在这一系统布局中,开辟职员将本人的代码编写成尺度接口集(JDOAPI),而供给商供应这些接口的完成。这同意利用JDO接口的使用程序“拔出”任何撑持JDOAPI的数据存储。和JDBC一样,这可使移植简单,并增进各供给商之间的合作,从而发生更好的产物,由于供给商会力图供应更无效且功效更壮大的完成。
会话bean和JDO
会话bean是任何兼并了EJB手艺的J2EE系统布局的基干。关于无形态会话bean特别云云。正如之前会商的,无形态会话bean的不乱性和可展望性使其出格合适于办理耐久的企业数据。
可是会话bean自己不克不及会见耐久数据存储。它们必需与别的手艺(照实体bean、JDBC或JDO)相分离以创立一种耐久数据办理机制。将会话bean与JDO分离相似于将它们与JDBC分离,但JDO是以更面向对象且更以Java为中央的概念处置该成绩的。
功效壮大的组合
经由过程向EJB容器哀求资本办理器毗连工场,企业bean取得对内部资本的会见权。利用JDBC的EJB组件是如许做的,利用JDO的EJB组件也是如许做的。会话bean必需做的第一件事是经由过程挪用JNDI查询,取得对PersistenceManagerFactory的援用。然后从工场取得PersistenceManager实例。假如会话bean正在利用容器办理的事件,那末每一个营业办法将利用工场来取得新的PersistenceManager实例,以后在加入该办法之前封闭该实例。假如利用的是bean办理的事件,那末开辟职员将断定事件的入手下手前提和停止前提。因而,能够在多个营业办法挪用中利用统一PersistenceManager实例。一样,能够在一个营业办法中翻开并办理多个事件。PersistenceManagerAPI撑持一切这些计划。
与PersistenceManager交互的JDOAPI很复杂且十分直不雅。开辟职员经由过程挪用makePersistent()办法使对象耐久。并且,这个办法特性符被重载,从而同意将各类对象范例视为耐久对象(单个对象、对象数组或对象汇合)。检索对象一样很复杂。getObjectById()办法利用由开辟职员断定的独一值(相似于主键)来区分对象实例。JDO还撑持基于范例的查询,这些查询能基于指定的范例(即,完成大众接口的子类和类)检索单个对象或对象汇合。与JDBC相似,JDO撑持基础的事件性控件:begin()、commit()和rollback(),并能指出PersistenceManager实例应当接纳悲观的仍是失望的事件办理办法。
<p>
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java 编程语言的风格十分接近C、C++语言。 是一种为 Internet发展的计算机语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 是一种将安全性(Security)列为第一优先考虑的语言 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
页:
[1]