我开始学习EJB,尽管我知道它们处理业务逻辑,但我不明白为什么EJB必须实现接口。
我知道接口是方法的列表,客户端使用它来访问它们,但是如果我不使用接口怎么办?
我知道存在无界面视图但我什么时候应该使用界面呢?
你可以用一个没有IT的例子来解释它吗?我正在学习关于Java EE 7的课程,我被困在这一部分,我已经阅读了Oracle教程但是我对此有所了解。
我为我的措辞错误道歉。
提前致谢
答案 0 :(得分:0)
接口的原因是因为您需要在一个JVM中调用一个透明地可以在另一个JVM中调用EJB的方法。 Java EE的所有复杂性来自于它旨在跨多个JVM工作。
这可以通过多种方式处理。这里选择的方法是一个接口可以使你的代码几乎透明(只是通过反射调用比较),但第一个JVM中的对象不包含你的代码,而是代码知道如何到达另一个JVM并询问它调用你的方法并返回结果。
换句话说,一个接口允许编译器帮助你在代码中正确地执行它,然后应用程序服务器在被调用的对象中提供神奇的粘合剂来到达你的EJB。
答案 1 :(得分:0)
EJB不再需要实现接口。嗯,如果您没有不同的VM访问同一个EJB容器,那么这是正确的。您可以在云中托管JBoss(例如)并在公司站点(或其他任何地方)使用另一个JEE-Server(例如Tomcat),让TomEE从JBoss Application Server检索其EJB实例。然后你必须使用一个接口来编程,因为你不知道实现是什么。
因为EJB 3没有接口视图是可能的。您可以自由使用接口,但只要您不需要分布式EJB服务,您就会感到高兴。
当你设计一个大系统时,界面总是一个很好的选择。如果针对接口而不是具体类进行编程,则可以轻松更改基础逻辑。因此,如果规范发生变化,代码就更容易维护。