阅读完毕后,
我仍然对以下事情感到困惑,如果我错了,请纠正我。
非常感谢。 :)
答案 0 :(得分:7)
我会做出以下更正:
与beans.xml相同的存档中的所有类都是CDI bean,包括 EJB。
只能使用@EJB
(在另一个EJB 或任何其他EE托管对象,包括CDI bean 中)注入EJB,而CDI bean和EJB bean都可以使用@inject(在EJB bean或CDI bean中)。
使用@Inject注入的注释为@Stateless(例如)的类仍然是EJB bean,如果在bean中,它也可能是 CDI bean 部署档案; 无论,它仍然由EJB容器管理,具有汇集和事务的所有优点。
值得注意的是,CDI托管bean是可以@Inject
到另一个CDI bean的任何东西,并且本身可以使用@Inject
,这适用于所有EJB,并且可以使用@EJB
将EJB注入任何其他EE托管bean(EJB,servlet,CDI托管bean等)。