gpt4 book ai didi

java - Spring框架如何 Autowiring 一个集合

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:34 24 4
gpt4 key购买 nike

我从未见过 Autowiring 的集合:

@Service
public class SomeFactory {
@Autowired
private List<Foo> foos;

@PostConstruct
public void init() {
for(Foo foo: foos) {
//do something
}
}
}

在 init() 方法中,我可以看到 foos 已经有几个条目。我想 Spring 知道谁应该是 foos 的入口。但是,怎么办?想在foos中添加一个Foo对象怎么办?需要在属性文件中配置,或任何其他想法?

最佳答案

Spring 的 BeanFactory 基本上是 bean 的注册表。这些 bean 可以使用 XML 或使用 @Bean 声明-配置类中的注释方法,或使用包扫描自动发现。

当你要求 List<Foo> ,Spring 找到所有类型为 Foo 的 bean,创建一个包含这些 bean 的列表,并注入(inject)该列表。

documentation about Autowired解释一下,顺便说一句:

It is also possible to provide all beans of a particular type from the ApplicationContext by adding the annotation to a field or method that expects an array of that type

关于java - Spring框架如何 Autowiring 一个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915039/

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