Java EE 5依赖注入?

8
自从Java EE 5没有CDI,那么在这里DI是如何工作的呢?一个非EJB类是否可以使用@EJB注入到EJB中?一个非EJB类是否可以使用@PersistenceContext注入EntityManager中(容器管理的而不是资源局部的EntityManager)?或者唯一的解决办法是通过JNDI查找将资源引入非EJB类中?在此处的非EJB类是指未注释为@Stateless/@Statefull或其他类型的类。

1
请注意,在这种情况下您可以使用预先存在的 CDI 框架 - Guice、PicoContainer,甚至是备受诟病的 Spring。它们没有自然地将 EJB 或上下文中的 EntityManager 注入到它们的对象中的能力,但是应该相当简单地构建一个桥梁来让它们这样做,尽管本页空间太小,无法包含这方面的解释。 - Tom Anderson
1个回答

5

假设我有一个带有@Stateless注释的EJB(POJO),其中包含一些由容器管理的组件字段,例如使用@PersistenceContext注释的EntityManager和其他使用@EJB注释的EJB。如果我想在非容器管理类中使用此EJB的功能,我可以通过JNDI查找它;但是EntityManager和其他EJB是否会被注入并准备好使用呢? - Random42
我相信你有不同的体验? - Aksel Willgert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接