传统的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";
}
}
答案 0 :(得分:0)
A(非空)一组bean类型:消息
A(非空)一组限定符(请参阅使用限定符): @Default (请参阅this页末尾的最新源代码)
范围(请参阅使用范围): @RequestScoped 。如果未提供范围,则应用 @Deft
一组拦截器绑定:你的案例中的空集
bean实现: MessageB