EJB3带来了哪些功能以及EJB3如何与Spring Framework结合?

Rac*_*hel 6 java spring ejb ejb-3.0

我从来没有工作ejb,当我开始编程Spring已经到了,我的所有项目都Spring只有,最近我有一次面试,他们想要知识,EJB3.0所以我想知道EJB3.0 stack up with Spring Framework为什么和为什么现在很多项目Spring Framework and not with EJB3.0,不要在这里引用我,因为我可能是错的

如果从实际角度解释使用另一个的差异和好处,我将非常感激.

注意请不要给wiki链接作为答案,因为我想了解这个技术如何叠加.

更新还有什么是开始学习EJB3的最佳方法,推荐的书籍,在线教程是什么?

Mic*_*rdt 10

EJB是一项相当古老的技术(约1999年).但是,在该标准的第3版之前,它使用起来非常不方便.Spring作为一种理智的替代品变得流行,它提供了一些相同的核心功能(声明式事务和安全性)以及一些新的功能(依赖注入,AOP).它还与许多其他技术(如Hibernate)很好地集成.

但是,从V3.0开始,EJB(或者更确切地说,EJB所属的整个Java EE平台)得到了重大改进,并且变得更容易使用.此外,许多框架(包括Spring)流行的许多功能都被制作成官方标准并添加到Java EE中.

目前,Java EE平台在受欢迎程度方面与Spring相比有很多优势,因为它们即使在易用性和功能方面也是如此,而且Java EE具有基于开放标准和多种实现的优势.大部分.与此同时,在与其他框架(曾经是它的优势)集成时,Spring似乎在跟上最新技术水平时遇到了问题.

  • @kdonald:这就是Spring的"我们将为你做整合"的问题 - 它直接导致了更新的跑步机.Java EE方法是"让我们通过坚持标准API来定义标准和集成" - 这并不是每个人都可以做到并导致其自身的约束,但肯定更具可扩展性. (2认同)

JOT*_*OTN 5

我想说唯一的主要区别是Java EE 5和6是标准.它采用了Spring和其他人的想法,并从中创建了一个标准.与旧的EJB相比,EJB3是白天和黑夜.您的所有EJB都是POJO,容器会注入依赖项.所有这些不同的接口都已消失,并且从主接口手动创建实例.如果你已经用Spring完成了很多工作,最多只花几个小时来学习.如果您正在进行Web应用程序,您还需要查看JSF.

我从来没有使用旧EJB进行真正的应用程序,因为它是如此痛苦.EJB3我一直都在使用,因为它毫不费力.如果您想尝试最新的一切,请获取glassfish的副本,我认为它仍然是唯一的Java EE 6认证服务器.