Java EE 7中的Bean类

时间:2014-09-04 22:18:06

标签: java-ee cdi

传统的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";
}

}

1 个答案:

答案 0 :(得分:0)

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

A(非空)一组限定符(请参阅使用限定符) @Default (请参阅this页末尾的最新源代码)

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

一组拦截器绑定:你的案例中的空集

bean实现 MessageB