gpt4 book ai didi

java - EJB 3.1 @LocalBean 与无注释

转载 作者:IT老高 更新时间:2023-10-28 11:51:53 35 4
gpt4 key购买 nike

我了解本地 View 、远程 View 和无接口(interface) View 之间的区别。我只是不明白“无 View ”(无注释)和无界面 View 有什么区别。还有为什么我要使用 @Local 来注释我的界面?如果我根本不注释界面怎么办,有区别吗?

最佳答案

规则是(凭内存):

  1. Bean 有一个 @LocalBean注释 -> bean 有一个无接口(interface) View
  2. Bean 有一个 @Local注释 -> bean 有一个本地 View
  3. Bean 有一个 @Remote注释 -> bean 有一个远程 View
  4. Bean没有 View 注解,而是直接实现了一个带有@Local注解的接口(interface)-> bean有一个本地 View
  5. Bean没有 View 注解,而是直接实现了一个带有@Remote注解的接口(interface)-> bean有一个远程 View
  6. Bean 没有 View 注解,但是直接实现了一个没有 View 注解的接口(interface) -> bean 有一个本地 View
  7. Bean 没有 View 注解,也没有实现接口(interface) -> bean 有一个无接口(interface) View

所以,使用 @LocalBean并且根本不使用注释都是获得无界面 View 的两种方式。如果你只是想要一个无界面的 View ,那么最简单的事情就是不要注释。前提是您还没有实现任何接口(interface)。

部分原因@LocalBean存在以向也具有接口(interface) View 的bean添加无接口(interface) View 。我想在规范作者的脑海中最重要的场景是你有一个像这样的 bean:

@Stateless
public class UserPreferences {
public String getPreference(String preferenceName);
public Map<String, String> getPreferences();
}

您希望在本地公开这两种方法,但只公开粗粒度的 getPreferences()远程。您可以通过仅使用该方法声明一个远程接口(interface)来做到这一点,然后只需拍打@LocalBean关于 bean 类。没有它,您将不得不编写一个毫无意义的本地接口(interface),只是为了在本地公开这两种方法。

或者,换个角度来看,@LocalBean之所以存在,是因为存在诸如无界面 View 之类的东西,并且无注释选项作为一种方便的快捷方式存在。

关于java - EJB 3.1 @LocalBean 与无注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889563/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com