JavaEE5依赖注入?

JavaEE5依赖注入?,java,jakarta-ee,dependency-injection,ejb-3.0,java-ee-5,Java,Jakarta Ee,Dependency Injection,Ejb 3.0,Java Ee 5,既然JavaEE5没有CDI,DI在这里是如何工作的 在一个非EJB的类中,EJB是否可以被注入@EJB? EntityManager是否可以在非EJB类中注入@PersistenceContext(容器管理的不是本地EntityManager)呢?或者,在非EJB类中引入资源的唯一解决方案是通过JNDI查找 所谓非EJB类,我指的是没有使用@无状态/@Statefull或其他注释的类 摘自: 请记住,JavaEE5平台容器可以处理 注入仅在容器管理上使用时透明 组件,如EJB bean、ser

既然JavaEE5没有CDI,DI在这里是如何工作的

在一个非EJB的类中,EJB是否可以被注入
@EJB
EntityManager
是否可以在非EJB类中注入
@PersistenceContext
(容器管理的不是本地
EntityManager
)呢?或者,在非EJB类中引入资源的唯一解决方案是通过JNDI查找

所谓非EJB类,我指的是没有使用
@无状态
/
@Statefull
或其他注释的类

摘自:

请记住,JavaEE5平台容器可以处理 注入仅在容器管理上使用时透明 组件,如EJB bean、servlet和JavaServer页面(JSP) 技术标签处理程序

onjava有一篇文章:


它提供了一个可读的表,其中列出了哪些托管组件(每个容器)支持注入何种类型的资源。

请记住,在这种情况下可以使用CDI之前的框架—Guice、PicoContainer,甚至是可怕的Spring。他们没有将EJB或上下文的
EntityManager
注入到他们的对象中的自然能力,但是构建一个桥接器让他们这样做应该是相当简单的,尽管这个空白太小,无法包含对此的解释有一些字段是容器管理的组件,比如用@PersistenceContext注释的EntityManager和用@EJB注释的其他EJB/如果我想在非容器管理的类中使用此EJB的功能,我可以通过JNDI查找它;但是EntityManager和其他EJB会被注入并准备好使用吗?我相信是的,您体验到了不同的行为吗?