【发布时间】:2010-10-16 08:37:21
【问题描述】:
我有一个即将到来的项目,可以让我使用 EJB 或 Spring,我想知道什么更适用于“现实世界”的情况。
【问题讨论】:
标签: spring jakarta-ee ejb
我有一个即将到来的项目,可以让我使用 EJB 或 Spring,我想知道什么更适用于“现实世界”的情况。
【问题讨论】:
标签: spring jakarta-ee ejb
这两种技术并不相互排斥。当您说 EJB 时,这取决于您是在谈论会话 bean 还是实体 bean(或消息驱动 bean 以确保完整性)。
如果没有其他原因,无状态会话 bean 一直非常有用,因为它们为分布式事务提供了相当一致的低门槛。
EJB3 还借鉴了 Spring 的一些依赖注入特性。
话虽如此,这是一个长期存在的争议原因。
可能值得阅读网络上的一些(许多)比较,例如this one。
在不了解您的要求的情况下,很难推荐其中一个。除非我有充分的理由不这样做,否则我个人更喜欢 Spring。
【讨论】:
对于 EJB2 旨在解决的一些问题,Spring 采用了一种完全不同(并且得到了极大改进)的方法。随之而来的是 EJB3,它与 Spring 方法有着惊人的相似之处——Sun 或 JBoss 之类的公司不会承认这一点。
尽管有相似之处,但 EJB3 和 Spring 并没有解决相同的问题。 EJB3 提供了一个组件编程模型和框架,而 Spring 更像是一个工具箱,它为许多横切关注点(例如事务管理和远程处理)提供一致的解决方案。 EJB3 提供了更多开箱即用的结构,但另一方面是它变得更具限制性。
【讨论】: