EJB 3.1 @LocalBean与无注释
2022-08-31 12:51:44
我了解本地视图,远程视图和无界面视图之间的区别。我只是不明白“无视图”(无注释)和无界面视图之间有什么区别。另外,为什么我应该用?如果我根本没有注释界面,有什么区别吗?@Local
我了解本地视图,远程视图和无界面视图之间的区别。我只是不明白“无视图”(无注释)和无界面视图之间有什么区别。另外,为什么我应该用?如果我根本没有注释界面,有什么区别吗?@Local
规则是(从内存中):
@LocalBean
@Local
@Remote
因此,使用和根本不使用注释都是获得无界面视图的方法。如果你只想要一个无界面的视图,那么最简单的事情就是不去注释。前提是您没有实现任何接口。@LocalBean
部分原因存在于向也具有接口视图的Bean中添加无接口视图的原因。我想在规范作者心目中最重要的场景是你有一个豆子,比如:@LocalBean
@Stateless
public class UserPreferences {
public String getPreference(String preferenceName);
public Map<String, String> getPreferences();
}
您希望在本地公开这两种方法,但仅远程公开粗粒度的方法。你可以通过仅使用该方法声明远程接口,然后只需在bean类上打耳光即可做到这一点。没有它,你必须编写一个毫无意义的本地接口,只是为了在本地公开这两个方法。getPreferences()
@LocalBean
或者,从另一个角度来看,存在是因为存在无界面视图之类的东西,并且无注释选项作为方便的快捷方式存在。@LocalBean
本地/无接口视图比远程 EJB 更有效,因为可以传递对象引用。