gpt4 book ai didi

java - @EJB 注入(inject)和企业命名上下文 - 两者之间的关系

转载 作者:行者123 更新时间:2023-12-01 16:11:33 24 4
gpt4 key购买 nike

Java EE 规范规定 EJB 注入(inject)如下所示:

@EJB MyInterface myBean;

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

现在我感觉我在这里错过了一些东西:

为什么需要上下文条目?所请求的 EJB 实例将被注入(inject),那么为什么需要上下文中的条目呢?为什么注入(inject)必须通过上下文条目进行?

最佳答案

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

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

它假设“bean 提供者”可以请求注入(inject),甚至提供默认值。但“应用程序汇编器”可以覆盖这些值。假设“bean 提供者”使用注释或 XML,并且假设“组装器”主要使用 XML。

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

关于java - @EJB 注入(inject)和企业命名上下文 - 两者之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1035643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com