EJB 3 的最佳功能

2022-09-02 04:49:08

场景

  • 您已经使用 EJB 版本 3 开发了一个 Web 应用程序。
  • 该系统由客户部署、交付和使用。

如果您必须从头开始重写系统,您会再次使用EJB吗?

:不要回答这个问题,而是回答这个问题

是的:根据您的个人经验,提供一个重要的、真实的问题,EJB 已经解决了这个问题。

让答案只包含个问题。这将使其他读者投票选出EJB的最佳功能。


答案 1

我认为这取决于你所说的EJB版本。让我们讨论仅有的两个相关(IMO)版本。

EJB 2.1 可能仍被遗留系统中的某些人使用。它们作为 RPC 抽象确实最有用。他们还提供了一个基本的ORM(对象关系映射)系统。正如你所提到的,提供了事务支持。因此,如果您正在构建一个系统,您希望与远程系统进行通信,传输面向对象的数据并以事务方式执行此操作,您可能会发现EJB是值得的。否则,我会说远离。

但是,EJB 3.0 已经得到了极大的改进。它具有以前版本的所有功能,但以更直接的方式实现。它还提供了一个相当简单的Inversion-Of-Control框架,与Spring不同,以及一个相当不错的JPA(Java Persistence API)形式的ORM。我使用过EJB 3.0,并且实际上很喜欢它。你可以像使用Spring一样主张使用EJB 3.0,而且它有一些更高级或企业级的功能。


答案 2

好吧,这实际上取决于我们正在谈论的EJB。我想说的是,多边开发银行即使在现在仍然有用。对于实体 Bean 和 session bean,您肯定可以找到更好的方法。也许我仍然喜欢EJB中的一个功能是可伸缩性。如有必要,可以使用“远程”选项将 EJB 部署到不同的服务器。但是,我不认为这真的是必要的,我只见过一个真正有用的大型项目。


推荐