快速业务通道

EJB3和Spring技术体系比较 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
,你就会 不断的在应用服务中加入其他服务,如:资源池、消息队列、集群等。当加入这些后, Spring的解决方案已经和Java EE Application Server解决方案一样重量级了。

追求简单、轻量,是每一个应用架构的目标,对于企业应用的构建来说,轻量级组件标准 +轻量的内核+轻量级的容器,并以此构建轻量级的应用平台,才是最终需要的。如果有轻量 级的容器出现,将帮助EJB3在企业应用中重新占据有利的地位。

3. 可管理性与可控性

这个问题对于一次性交付的项目也许不是问题,但是对于质量要求更高、生命周期更长的 产品,却是衡量平台和架构的重要因素。

基于Spring架构的应用,由于过分的自由和灵活,随着项目的进展,逐渐集成的第三方框 架越来越多,很难保证集成的服务和编写的组件中有没有漏洞,甚至相互之间有严重的冲突 ,那么,掌控整个项目的质量成了难题,光是一页接一页的配置文件,就知道今后的维护成 本也就随之增高,回想一下EJB2.0时代的ejb-jar.xml吧;而EJB因为集成的都是标准服务, 而且组件模型也是固定的,加之应用服务器一般提供控制台,用来查看运行时的各项属性, 并可对服务进行实时的管理,显然比Spring开发的应用可控性更好。

4. 功能性对比4.1 IoC容器,AOP能力

在IoC的能力Spring要略强一些,但是在EJB3中可以完全用Annotation方式进行注入,在 开发上要简单很多,对于一些相对比较固定的注入,采用Annotation更好,而对于一些可能 需要经常变动的注入,XML更加灵活,EJB3刚好提供了这样的两种解决方案。如果你已经患有 XML恐惧症,那么EJB3无疑将给您以解脱。

同时,EJB3组件中,支持多种方式注入,比如依赖于名称、接口或者JNDI名,另外还支持 使用@PersistenceContext注入 EntityManager,@Resource注入服务器资源,如EJBContext 、TimerService等,而一些Annotation已经成为JDK6的一部分,将来可能直接被JDK支持。

AOP方面,如果您需要彻底的AOP,并且在Spring中集成了AspectJ,那么EJB3自然无法比 拟,但是如果您的项目以够用为原则,只需要一般方法拦截意义上的AOP,EJB3提供的各种回 调方法应该可以满足您的要求了。

EJB3和Spring技术体系比较(2)

时间:2011-04-30 infoq 杨泳,Peter Cheng

4.2 事务处理

EJB的看家本领,Spring也通过提供TransactionTemplate以及集成第三方事务处理器来支 持JTA,都支持申明式事务,可以BMT,CMT,但无论如何,移植的器官总也没有自身长的好吧 。

4.3 分布式能力

一般使用Java EE体系的公司都认为这是EJB的最大长处,但是实施并不如想象那样,一来 绝大多数都是Web应用,依赖Web提供的分布式能力已经可以满足90%的需要了,二来大家基本 上都是Web容器和EJB容器整体部署,EJB组件的分布部署少之又少。当然如果您需要Web层和 应用层分开部署,那么Spring一定不在你的考虑范围之内了。

4.4 Cluster能力

Cluster也是EJB的传统优势,但是老师说,能够发挥EJB集群优势的地方并不多,因为即 使项目中采用了EJB,一般也采用Stateless SessionBean,而使用HttpSession Cluster,既 然如此,无论EJB还是Spring,大家都是平等的。当然,如果您正在构建一个大型的应用,对 集群的能力要求非常高,比如需要事务级的Cluster,而且还有分布式的需求,那么估计没有 多少因素会让您考虑Web Server + Spring的架构了。

4.5 Web Services

EJB3中的Web Service和EJB组件集成得如此之好,使用起来再简单不过了,如下面实例所 示,JAX-WS也将逐步成为Java Web Service事实标准;至于Spring可以实现各种基于Http的 远程调用方法,其优势并不明显。

@Stateless @Remote @Local @WebService(endpointInterface = "jfox.test.ejb3.webservice.Calculator") public

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号