我觉得 JavaEE6规范中有些混乱,有几组注释。
我们有用于创建 EJB 的 javax.ejb
注释,如 @Stateful
和 @Stateless
。
还有一个 @javax.annotation.ManagedBean
用于创建托管 bean。
javax.enterprise.context
中有一些注释,比如 @SessionScoped
和 @RequestScoped
。
此外,在 javax.faces.bean
包中还有 @ManagedBean
和 @SessionScoped
/@RequestScoped
注释。
为了使事件更加复杂,有一个带有 @Named
注释的包 javax.inject
。
有人能描述一下他们之间的关系吗?
在哪里可以使用 @EJB
、 @Inject
或 @ManagedPropery
注入其他 bean?