0

我开始学习 EJB,尽管我知道他们处理业务逻辑,但我不明白为什么 EJB 必须实现接口。

我知道接口是方法的列表,客户端使用它们来访问它们,但是如果我不使用接口怎么办?

我知道存在无接口视图,但是我应该什么时候使用接口呢?

你能用一个没有 IT 的例子来解释一下吗?我正在学习有关 Java EE 7 的课程,但我被困在这部分,我已经阅读了 Oracle 教程,但我在理解这一点时遇到了问题。

我为我的措辞错误道歉。

提前致谢

4

2 回答 2

0

EJB 不必(不再)实现接口。好吧,只有当您没有不同的 VM 访问同一个 EJB 容器时,这才是正确的。您可以在云中托管您的 JBoss(例如)并在您的公司站点(或其他任何地方)拥有另一个 JEE 服务器(例如 Tomcat),并让 TomEE 从 JBoss 应用程序服务器检索其 EJB 实例。然后你必须使用一个接口来编程,因为你不知道实现是什么。

由于 EJB 3 无接口视图是可能的。您可以自由使用接口,但如果您不这样做,您会很高兴……只要您不需要分布式 EJB 服务。

但是,当您设计大型系统时,界面始终是一个不错的选择。如果您针对接口而不是具体类进行编程,则可以轻松更改底层逻辑。因此,如果规范发生变化,代码更容易维护。

于 2014-03-19T21:42:49.867 回答
0

使用接口的原因是因为您需要在一个 JVM 中调用一个方法,该方法可以透明地在另一个 JVM 中调用您的 EJB。Java EE 的所有复杂性都源于它旨在跨多个 JVM 工作。

这可以通过多种方式处理。这里选择的方法是,接口可以使这在您的代码中几乎透明(仅与通过反射的调用进行比较),但第一个 JVM 中的对象不包含您的代码,而是知道如何到达另一个 JVM 并询问它的代码调用您的方法并返回结果。

换句话说,接口允许编译器帮助您在代码中正确执行此操作,然后应用程序服务器在调用的对象中提供魔术胶水以到达您的 EJB。

于 2014-03-19T21:33:44.393 回答