既然 Java EE 5 没有 CDI,那么 DI 如何在这里工作?
EJB 可以用 @EJB
注入(inject)到非 EJB 的类中吗?
EntityManager
是否可以在非 EJB 类(容器管理而非资源本地 EntityManager
)中注入(inject) @PersistenceContext
?或者在非 EJB 类中引入资源的唯一解决方案是通过 JNDI 查找?
非 EJB 类是指未使用 @Stateless
/@Statefull
或其他注释的类。
最佳答案
取自:http://www.oracle.com/technetwork/articles/javaee/injection-141192.html
Keep in mind that a Java EE 5 platform container can handle the injections transparently only when they are used on container-managed components, such as EJB beans, Servlets, and JavaServer Pages (JSP) technology tag handlers.
onjava 有一篇文章:http://onjava.com/pub/a/onjava/2006/01/04/dependency-injection-java-ee-5.html
它提供了一个可读的表格,其中列出了哪些托管组件(每个容器)支持注入(inject)何种类型的资源。
关于Java EE 5 依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530409/