gpt4 book ai didi

java - 为什么@resource可以找到所有实现接口(interface)的类并将它们作为列表注入(inject)

转载 作者:行者123 更新时间:2023-11-30 01:57:08 30 4
gpt4 key购买 nike

我想在我的应用程序中注入(inject)一个列表。我的代码如下:

interface A;
class B implements A;
class C implements A;

class D {
@Resource
private list<A> list;
}

为了注入(inject)列表,我本来打算在xml中配置列表,但我发现我不需要这样做。当我使用@resource时,列表已经被注入(inject)到应用程序中,我想知道@resource在这里是如何工作的。

最佳答案

@Resource注释告诉 Spring 在应用程序上下文中查找与所需类型匹配的任何 bean,并将其注入(inject)到变量中。

在您的情况下,将字段指定为 List<A>将向 Spring 指示您希望注入(inject) A 类型的所有 bean。

Spring 支持以下 DI 注解:

  • @Resource ,基于资源名称注入(inject)的 JavaEE 规范
  • @Inject ,JavaEE规范,保持代码兼容
  • @Autowired , @Inject 的 Spring 特定对应部分

关于java - 为什么@resource可以找到所有实现接口(interface)的类并将它们作为列表注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54018347/

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