0

Java EE 规范声明这样的 EJB 注入:

@EJB MyInterface myBean;

将在企业命名上下文中创建条目,即。java:comp/env/<FQN>.MyInterface/myBean. 由部署者将此上下文条目绑定到一个实际值并将此值注入 myBean 字段中。

现在我觉得我在这里遗漏了一些东西:

为什么需要上下文条目?请求的 EJB 实例将被注入,那么为什么需要上下文中的条目呢?为什么注入必须通过上下文条目发生?

4

3 回答 3

1

所有收到的答案都没有解决这个问题:如果注入注释提供了足够的信息来解决注入,为什么需要 ENC 条目(所以我的第一个想法是它是多余的)。

答案是可以在部署描述符中覆盖注入。这是因为 EJB 标准定义了开发人员角色。

它假定“bean 提供者”可以请求注入,甚至提供默认值。但是“应用程序汇编器”可以覆盖这些值。假定“bean 提供者”使用注解或 XML,假定“汇编器”主要使用 XML。

这就是 EJB 标准定义 ENC 和注入之间的这种关系的原因。

于 2009-08-22T13:09:55.280 回答
0

我认为如果您需要注入一个有状态会话 Bean,您将需要一些上下文来了解您的 EJB 实例和一些先前注入的 EJB 依赖项(到该实例)之间的关系。

于 2009-06-25T07:57:46.010 回答
0

这是为了让您通过某种方式获得的字符串进行查找。

于 2009-07-01T19:50:03.020 回答