我正在阅读Java EE CDI,我对基于类的资源注入如何工作感到困惑
Java EE 6教程提供了以下示例用法:
@Resource(name="myMessageQueue",
type="javax.jms.ConnectionFactory")
public class SomeMessageBean {
...
}
我了解它是如何声明的,但声明的资源应该如何在SomeMessageBeanClass
中使用?注入的myMessageQueue
资源是什么?
答案 0 :(得分:4)
@Resource
。
它的血统可以追溯到注入田野之前的日子。在那些日子里,“注入”意味着将某些内容放入与每个EJB bean相关联的一种映射中;所谓的ENC(企业命名上下文)。
您可以通过在EJB内部从InitialContext
请求“java:/ comp”命名空间来访问此“map”,也可以直接从EJB上下文(您必须注入)中访问此“map”。
这些天使用ENC似乎很少见。现场注射更方便。