EJB bean和CDI bean和注入

lai yoke hman

看完这些,

我仍然对以下事情感到困惑,如果我错了,请纠正我。

  1. 与bean.xml相同的包中的所有类都是CDI bean,但注释为session / message / singleton的类除外。
  2. 只能使用@EJB(在另一个EJB内)注入EJB,而CDI bean和EJB Bean都可以使用@inject(在EJB bean或CDI bean内)注入。
  3. 使用@Inject注入的以@Stateless注释的类(例如)仍然是EJB bean,而不是CDI bean,并且仍将由EJB容器进行管理,具有所有合并和事务处理的优点。

非常感谢。:)

布雷特·凯尔

我将进行以下更正:

  1. 与bean.xml相同的归档文件中的所有类都是CDI bean,包括EJB。

  2. 只能使用@EJB(在另一个EJB或包括CDI bean的任何其他EE管理对象中)注入EJB,而CDI bean和EJB bean都可以使用@inject(在EJB bean或CDI bean中)注入。

  3. 使用@Inject注入的(例如)注释为@Stateless的类仍然是EJB bean,并且如果在bean部署档案库中它也可以是CDI bean 无论如何,它仍将由EJB容器管理,并具有池化和事务处理的所有优点。

值得注意的是,一个CDI托管Bean是可以@Inject编辑到另一个CDI Bean中并且可以自己使用的任何事物@Inject,这对所有EJB都是正确的,并且@EJB可以用于将EJB注入到任何其他EE托管Bean(EJB,Servlet,CDI托管Bean)中。等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章