操纵CMP2和XML处理动态数值对象[Java编程]
本文“操纵CMP2和XML处理动态数值对象[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在EJB 2.0部分引用和容器管理关系呈现之前,普通把实体EJB用于模子粗粒度域对象.这主如果由于与远程通信有关系统开销并禁止了细粒度拜候企业层的客户层对象.粗粒度计划的性能通过实现数值对象而增长改进,压缩全部的数据也就是说在客户层和企业层之间传送数据.利用有大量域对象的复杂系统,即便这么样能供应一个第一流的和高度履行计划,这个计划招致在系统内呈现过量的数值对象.这一样也成立在企业层和客户层之间的精密衔接.一样,在EJB呈现之间,bean供应者不得不明确地供利用于保护域对象之间联接的程序.在一个有在域对象之间的复杂关系的情形中,数值对象的计划变得很复杂.在利用EJB开辟企业利用程序的历程中,容器管理关系和部分引用的呈现开启了令人高兴的新途径.在本文中,我将带你利用EJB 2.0的强盛办法连同bean组件和JAXP成立动态的基于数据构造的XML,可以在你的企业层和表现层之间传送信息.
从企业层到客户层传送数据的历程中利用XML,可以帮忙你实目前的利用程序中的多种宽松衔接;但是,当你把新的域对象增添到实体型中时,你大概需求增添用于成立新DOM构架的类来增添该实体.在文中,我们将开辟一个框架来动态地遍历容器管理和给定的部分EJB有关的域,并且成立一个可以在利用程序的多个层之间传送的XML件.这个办法将有以下长处∶
在企业层和客户层之间增长宽松衔接.
便于管理域对象之间关系.
从系统中除去复杂数值对象因为XML是由动态地遍历CMP和CMR域产生的,当它们增添新对象到域模子中时,bean供应者没必要成立新的用来成立新的DOM构架的对象类.
EJB 2.0部分引用增长拜候bean组件;bean组件与部分引用结合可以含于与其他的被容器管理的bean的关系.举例来说,在一个帮忙系统中,UserEJB可以有与ServiceRequestEJB的一到多双向关系和与ProductEJB的一到一的单向接洽以及与ServiceRequestHistoryEJB的一到的双向关系.UserEJB同时可以有与PhoneEJB一到多的双向关系.这样,利用EJB 2.0部分引用和容器管理关系,你可以计划一套复杂的有关体.容器管理长期性和关系域是在bean类中利用抽象存取程序办法定的.用于关系域的存取程序办法要末返回一个调集要末返回定义这个系的bean的本机接口,这还取决于这个关系集的容量.这些存取程序法可以通过bean组件的本机接口展示.EJB 2.0的深化研究超越了本文范围,请参阅EJB 2.0的标准.
一个效率高的计划情势应当通过外观组件展示你的利用程序的利用案例并且不准从客户层中直接拜候实体组件.回到我们的帮忙系统的例子中来,此中的一个利用案例是获得给定用户的具体资料.外部组件可以查找需求的用户实体组件,并且通过容器管理长期性与关系域获得所需数据并把它返回表现层.
用于数据传送对象的一个显而易见的挑选就是简单的Java bean.UserBean大概有表示长期性与关系域的属性.这种关系域要末是java.util.Collection要末是其他的取决于这种关系的bean组件.UserBean大概有ServiceRequestBean和PhoneBean集.ServiceRequestBean大概有一个ProductBean和很多ServiceRequestHistory bean组件.此外,这些bean组件还大概还有简单的String大概表现容器管理长期性域的基本属性.这个挑选的主要的不利之处就是使你的实体模子越发复杂,使你的数据传送对象bean层次越发复杂,还将在你的服务(企业)层和消费(表现)层之间成立精密衔接.研究一下这个关系的复杂的层次,一个更好的挑选是利用XML DOM对象作为数据传送对象.你的组件将产生oeg.w3c.dom.Document对象范例并且你的表现组件利用XML的JSP自定义标志和XSLT文件来“消费”它们.
目前,下一个问题是∶怎么从CMP部分bean引用中成立XML文件?我们可以利用一个基于用于成立差别的范例的DOM组件的办法的工厂;但是,这将成立过量的“工厂”组件,并且你大概需求增添新的"工厂"组件作为你的实体模子扩大.我们需求的是一个可以利用实体部分对象,指导容器管理关系和成立动态DOM构架的公用程序.这个公用程序将负责在双向关系中循环引用,以避免无限的循环和深化导航关系元素.
以上是“操纵CMP2和XML处理动态数值对象[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |