JavaEE 6@javax.notation.ManagedBean与@javax.Inject.Nmad vs@javax.faces.ManagedBean我觉得JavaEE 6规范有点混乱。有几组注释。我们有javax.ejb注释,如@Stateful和@Stateless用于创建EJB。还有一个@javax.annotation.ManagedBean若要创建托管bean,请执行以下操作。中有注释javax.enterprise.context喜欢@SessionScoped和@RequestScoped.更有甚者还有@ManagedBean和@SessionScoped/@RequestScoped注释javax.faces.bean包裹。为了使事件变得更复杂,有一个包javax.inject带着@Named注释有人能描述一下他们之间的关系吗?我可以在哪里使用@EJB, @Inject或@ManagedPropery注射其他豆子?
3 回答

慕工程0101907
TA贡献1887条经验 获得超5个赞
是的,这可能会让人困惑。
对一些人来说EHM历史原因是JSF和CDI对作用域使用相同的注释,但来自不同的包。
你可能是在猜测javax.faces.bean
来自JSF规范,与CDI无关。除非你有很好的理由这样做,否则不要使用它们。也不要将它们与cdi注释混在一起。javax.ejb
..这将产生一个无穷无尽的错误和微妙的异常列表。
添加回答
举报
0/150
提交
取消