【问题标题】:Bean class in Java EE 7Java EE 7 中的 Bean 类
【发布时间】:2014-09-04 22:18:05
【问题描述】:

而传统的 JavaBean 类必须符合一组标准,包括: 1) 它必须定义一个零参数默认构造函数 2) 它必须实现一个 Serializable 接口。

Java EE 7 中定义的 Bean 类完全不同。几乎任何 Java 类都可以是 bean,只要它的生命周期由 Web 容器管理。这是文档: http://docs.oracle.com/javaee/7/tutorial/doc/cdi-basic003.htm#GJEBJ

它说 CDI Bean 具有以下属性:

A (nonempty) set of bean types

A (nonempty) set of qualifiers (see Using Qualifiers)

A scope (see Using Scopes)

Optionally, a bean EL name (see Giving Beans EL Names)

A set of interceptor bindings

A bean implementation

这些属性对我来说非常抽象。以下示例是一个 CDI bean。这只是一个实现超级简单接口的常规类。有人可以使用以下示例来解释上面列出的“属性”要求吗?谢谢

@RequestScoped
public class MessageB implements Message {
public MessageB() { }

@Override
public String get() {
    return "message B";
}

}

【问题讨论】:

  • 属性在哪里?

标签: jakarta-ee cdi


【解决方案1】:

一组(非空)bean 类型:消息

一组(非空)限定符(参见使用限定符):@Default(参见this 页面末尾的最后一个源代码)

范围(请参阅使用范围):@RequestScoped。如果未提供范围,则应用 @Default

一组拦截器绑定:在你的情况下为空集

一个 bean 实现:MessageB

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-22
    • 2015-07-29
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    相关资源
    最近更新 更多