`
IsItLikeThat
  • 浏览: 41444 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

EJB3 再战 Spring【转】(2)

 
阅读更多

4. 功能性对比

4.1 IoC容器,AOP能力

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

 

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

 

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

4.2 事务处理

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

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 Service

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

4.6 集成第三方框架

如果需要集成第三方框架的时候,估计您需要Spring了,当然前提是Spring 已经给出很好的集成方案;而如果采用EJB,则需要视特定的应用服务器了,推荐当类库来用,或者使用context listener来启动,是在不行,只能基于特定的应用服务器来进行集成,一般来说,应用服务器均提供了JMX集成能力。

5. 总结

纵观人类历史,官方过于强势,则必然官逼民反;而民间力量过于强大,社会必将不稳定,这都是我们不愿看到的,在技术世界里也一样。对于EJB3Spring这两种方案,Spring现在处于压倒性的优势一方,希望EJB3的出现,一来能为官方挽回一些失去的领地,二来也能继续引发更多的探讨,不再拘束于一家之言,只有百家争鸣的环境,才能让开发人员和架构人员对企业应用的构建认识得更加完善,所以最好的方式是EJB3Spring互相促进,和谐发展。

期待一个轻量的真正以开发需求为中心的EJB3应用服务器的出现,为疲软的EJB市场注入新的活力!

分享到:
评论

相关推荐

    struts2 + ejb3 + spring 整合了

    在本文中,我们将探讨如何将三个流行的Java EE框架——Struts2、EJB3和Spring——集成在一起,形成一个强大的企业级应用。这个整合过程对于初学者来说可能会有些复杂,但通过逐步指导,我们将简化这一过程。我们使用...

    ejb spring

    3. **简化ejb的使用**:Spring通过其Enterprise Integration Patterns,如JmsTemplate和JpaTemplate,可以简化ejb中的消息驱动bean和持久层操作,减少ejb的复杂性。 **ejb与Spring集成的实现方式** 1. **Spring对...

    ejb3+spring+struts实现简单银行系统

    - 通过Struts2的Action,用户请求会被映射到具体的业务处理方法,这些方法可能调用了Spring管理的Service层,Service层又进一步调用了EJB3的Bean来执行实际的业务逻辑。 - 事务管理方面,Spring提供了声明式事务管理...

    EJB3.0和Spring比较

    【EJB3.0与Spring比较】 EJB3.0和Spring是两种广泛使用的Java企业级应用程序开发框架,它们在很多方面有所不同,这些差异主要体现在以下几个关键点: 1. **厂商无关性(Vendor Independence)** - EJB3.0遵循开放...

    spring与ejb的区别

    ### Spring与EJB3.0的关键区别及其优劣分析 #### 一、Spring框架概述 **1.1 引言** Spring作为一个广受欢迎的开源框架,最初被设计用于减轻企业级应用开发中的复杂性问题。它的一个显著特点在于模块化的分层架构...

    spring集成ejb

    Spring 集成 EJB(Enterprise JavaBeans)是将轻量级的 Spring 框架与企业级的 EJB 3.x 技术相结合的一种方式,以实现更灵活且高效的企业应用开发。Spring 提供了一个丰富的IoC(Inversion of Control,控制反转)和...

    spring和EJB3的一些包

    Spring 和 EJB3 是两种在企业级 Java 应用开发中广泛使用的框架。Spring 框架以其轻量级、模块化和灵活的设计而闻名,而 EJB3(Enterprise JavaBeans 3)则是 Java EE(现在称为Jakarta EE)平台的一部分,提供了...

    spring with ejb3

    2. **简化开发**:EJB 3降低了EJB的复杂性,Spring则提供了多种企业级服务,如AOP(面向切面编程)、数据访问等,两者结合可以简化企业级应用的开发过程。 3. **测试友好**:Spring的测试支持(如Spring Test和...

    struts2+spring+ejb3源代码(完整版)

    Struts2、Spring和EJB3是Java Web开发中的三个重要框架,它们分别在MVC模式、依赖注入和企业级服务方面发挥着关键作用。这个压缩包提供的源代码是一个完整的项目示例,展示了如何将这三个框架集成到一个应用程序中。...

    《JavaEE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring》-- part2/3

    《JavaEE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring》-- part2/3

    EJB&Spring;详细对比

    ### EJB与Spring详细对比分析 #### 一、引言 在现代企业级应用开发领域,EJB(Enterprise JavaBeans)与Spring框架均扮演着重要角色。随着技术的发展与需求的变化,两者之间的对比成为了业界广泛关注的话题。本文...

    Struts + Spring + EJB3 demo

    Struts、Spring和EJB3是Java开发中的三个重要框架,它们在企业级应用程序开发中发挥着关键作用。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和面向切面编程,而EJB3则是Java EE平台上的...

    ejb3+spring+struts实现简单银行系统源码整理

    本项目"ejb3+spring+struts实现简单银行系统源码整理"提供了一个基于Java技术栈的银行系统实现,利用了EJB 3、Spring和Struts三大框架,展示了如何有效地整合这些技术来构建一个完整的Web应用程序。 首先,EJB...

    实战角度比较EJB2和EJB3的架构异同

    【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...

    EJB3与Struts与Spring整合开发(SSE)

    EJB3、Struts和Spring是Java企业级开发中的三个重要框架,它们分别在不同的层次上解决了应用程序的设计和管理问题。EJB3是Java企业版(Java EE)的一部分,提供了面向服务的组件模型,用于构建可扩展且可靠的分布式...

    spring+struts+ejb整合

    在IT行业中,Spring、Struts和EJB是三个非常重要的框架,它们分别专注于不同领域的应用开发。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及大量的企业级服务。...

    EJB3+spring2.5+struts2和ejb3+servlet增,删,改,查实现!

    标题 "EJB3+Spring2.5+Struts2和EJB3+Servlet实现增删改查" 描述了一个集成的Java企业级应用开发场景,其中涵盖了四个关键的技术框架:Enterprise JavaBeans(EJB)3.0、Spring 2.5、Struts 2以及Servlet。...

Global site tag (gtag.js) - Google Analytics