gpt4 book ai didi

java - 如何向应用程序上下文注册 bean 集合并使其符合 Autowiring 条件?

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

我想在我的@Configuration注释的AppConfig中创建Spring托管bean的动态列表:

@Bean
List<SomeObject> createSomeObjects(@Value("${object.count}") final int objectCount) {

List<Object> objects = new ArrayList<>();
for (int i = 1; i <= objectCount; i++) {
objects.add(new SomeObject())
}
return objects;
}

然后,我想将这个对象列表注入(inject)到另一个 bean 中,如下所示:

@Autowired
List<SomeObject> objects;

我得到的是以下异常:

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: java.util.List ..

我可以为我的对象列表创建某种容器,但我正在寻找一个更优雅的解决方案。

最佳答案

Spring 专门处理集合,但这是行不通的;容器始终将集合解释为单独声明的 bean 组。 After some discussion and modifications it will work in 4.3 ,但目前最好的解决方案是使用 Holder 类。

关于java - 如何向应用程序上下文注册 bean 集合并使其符合 Autowiring 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35584289/

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