【问题标题】:What can be put in an EJB stereotype?什么可以放入 EJB 原型中?
【发布时间】:2013-09-02 15:02:32
【问题描述】:

我们正在将 EJB 3.0 应用程序迁移到 EJB 3.1,并希望使用 @Stereotype 来减少一些 EJB 配置。

我们计划拥有的注解是:

其中我知道@Singleton 不能放入@Stereotype 中,必须在EJB 本身上。还有什么不能放入@Stereotype

更新

规范 [1], [2] 这么说

一个原型封装了以下的任意组合:

  • 默认范围和
  • 一组拦截器绑定。

然后这些示例使用 Java EE 7 @Transactional,它是一个 @InterceptorBinding,这让我相信以上注释都不能放入原型中。

【问题讨论】:

    标签: annotations ejb java-ee-6 ejb-3.1 stereotype


    【解决方案1】:

    The Java EE 6 Tutorial 声明如下:

    构造型是一种注释,应用于 bean,它 包含其他注释。刻板印象可能特别有用 在您有许多执行的 bean 的大型应用程序中 类似的功能。构造型是一种注释,它指定 以下:

    • 默认范围

    • 零个或多个拦截器绑定

    • (可选)@Named 注释,保证默认的 EL 命名

    • (可选)@Alternative 注释,指定具有此构造型的所有 bean 都是替代项

    因此,正如您所见,您使用的注释不在上述组之一中。

    我个人的建议是,在创建和使用刻板印象时要小心,因为人们总是必须知道(或检查)它的含义,所以例如我更喜欢使用 @Named @RequestScoped 而不是 @Model 因为节省了一行的代码并没有弥补第一眼看不到范围。

    【讨论】:

    • 我们谈到至少要节省五行代码八十次。更不用说我们可以在一个点上进行更改,而不是 sed-ing 整个代码库并丢失五个地方。同样的论点会阻止我们使用接口,因为当你使用接口时,你不知道会调用哪个方法。
    • 你在一个地方改变是对的。我很伤心,我建议小心使用它,而不是避免它。关于接口,可悲的是,人们仍然观察到接口和类之间的 1:1 关系的许多用法,如果不太可能很快就有接口的第二个实现,那么这是没有意义的。
    猜你喜欢
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 2011-06-29
    • 1970-01-01
    相关资源
    最近更新 更多