首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >会话Beans和EJB3 vs Spring

会话Beans和EJB3 vs Spring
EN

Stack Overflow用户
提问于 2010-07-14 20:58:59
回答 3查看 5.4K关注 0票数 4

我很好奇EJB 3中的会话Beans的功能,以及它们是否可以用Spring替换在典型的中型企业应用程序中。

我发现了这篇文章:http://drag0sd0g.blogspot.com/2010/01/session-bean-alternative-spring.html,它声明如下:“由于注释的大量使用,您几乎可以避免使用EJB3的”XML“;Spring也不能这样说。此外,由于EJB容器是Java标准的一个组成部分,因此它本机与应用服务器的JSF、JSP、servlets、JTA事务管理器、JMS提供者和JAAS安全提供者等组件集成。使用时,您必须担心应用服务器是否完全支持这些本机组件以及其他高性能特性(如集群、负载平衡和故障转移)。如果你不担心这样的事情,那么春天是一个不错的选择,“

你同意这个说法吗?无状态会话Beans曾经被认为是一种非常强大的企业技术,因为它具有池和管理功能。我的问题是:什么时候才真正需要使用EJB 3而不是Spring (假设一个大公司中的任务关键企业应用程序)?

EN

回答 3

Stack Overflow用户

发布于 2010-07-20 06:56:15

看起来又是Java和Spring的文章..。

EJB/Java和Spring现在是两个成熟的、具有竞争力的基于Java的技术栈。通常情况下,没有理由让事情复杂化并把它们搞混。EJB实际上从Spring等人那里学到并使用了许多想法。

它们都没有将您推入XML/配置地狱。这两者都很容易开始,至少是非常基本的东西。

Spring不仅仅是IoC/SOA/事务。它更像是一个工具箱--它已经准备好与ORM和事务、web/MVC、安全性、计时器/调度等框架集成或直接提供。您不会被迫使用容器(您可以在独立的“桌面”应用程序中使用它)。

EJB是Java堆栈的一部分。这是标准。它不像Spring那样宽泛、灵活,但从定义上来说,它是所有Java容器所支持的。

我更喜欢春天的自由和领先一步。

票数 7
EN

Stack Overflow用户

发布于 2010-07-15 10:00:38

我不认为使用EJB 3而不是Spring是绝对必要的,但在有些情况下使用EJB 3要容易得多。正如本文所述,EJB的主要优点是与其他各种JEE技术的集成,而且从EJB 3开始,企业Beans的编写比以前版本的规范要简单得多。

在POJO或其他中间件技术上使用EJB的典型原因是事务。如果您的业务逻辑需要是事务性的,那么EJB通过容器提供简单、声明性的跨国划分和与JTA的无缝集成。虽然本文建议支持集群、负载平衡和性能管理是一个优势,但这在很大程度上取决于您选择JEE应用程序服务器。

我想说,决定是使用Spring还是EJB 3的关键因素是容器。如果您的目标容器是一个完全与JEE 5+兼容的应用服务器,并且需要对事务或消息传递等服务的支持,那么EJB3显然是一个选择。但是,如果您不需要与其他JEE技术集成或部署到轻量级的应用服务器,那么使用EJB只会增加不必要的开销。

票数 3
EN

Stack Overflow用户

发布于 2015-04-22 02:36:50

怎么会有人认为EJB3 3使用分布在几个类上的一系列java注释来定义数据模型比Hibernates简单的模型定义语法要好得多。

这是一个可维护性的噩梦。你为什么有个相交的桌子?它几乎可以在代码库中的任何地方定义。一些初级程序员使用注释,现在您的java类与实际数据库不同步。

有性能问题(你会的)。您不仅得到了经典的Hibernate“我不知道它使用的是什么SQL”,而且还出现了“我不知道为什么表是这样构建的”问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3250483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档