gpt4 book ai didi

java - ejb中的资源注入(inject)

转载 作者:行者123 更新时间:2023-12-01 10:55:22 25 4
gpt4 key购买 nike

我不明白@Resource注释的lookup参数和name参数之间的区别。我阅读了有关注释及其字段等的所有文档。

我知道如何使用 name 来注入(inject)或绑定(bind)资源,但问题是没有找到任何示例来解释 lookup 之间的区别>名称

谁能给我一个这样的例子或者告诉我它们之间的区别?

最佳答案

namejava:comp/env 中的“虚拟”引用名称命名空间。在某种程度上,该引用需要指向已定义的“物理”资源。标准方法是使用 lookup属性,但产品还将有一种方法来“绑定(bind)”资源引用,因此在许多产品中,特定于产品的绑定(bind)在功能上等同于名称。 (特定于产品的绑定(bind)仍然很重要,因为您不想依赖开发人员从操作环境等中硬编码数据源名称。)

例如,您可能有 @Reference(name="jdbc/myDS", lookup="jdbc/oracleDS") ,这意味着 java:comp/env/myDS将被定义为对 jdbc/oracleDS 的间接查找绑定(bind)到默认 JNDI 命名空间的数据源。

再举一个例子,您可能有 @DataSourceDefinition(name="derbyDS")@Resource(name="jdbc/myDS", lookup="java:comp/env/derbyDS") 。前者定义了一个实际的数据源(同样相对于 java:comp ),后者定义了对其的间接查找。

关于java - ejb中的资源注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636883/

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