gpt4 book ai didi

java - Spring有序的bean列表

转载 作者:IT老高 更新时间:2023-10-28 13:45:04 27 4
gpt4 key购买 nike

我有几个实现相同接口(interface)的 bean。每个 bean 都用

注释
@Component 
@Order(SORT_ORDER).
public class MyClass implements BeanInterface{
...
}

在某一时刻,我 Autowiring 了一个组件列表,并且我希望得到一个排序的 bean 列表。bean 列表没有按照我在注释中设置的顺序进行排序。

我尝试实现接口(interface) Ordered 并且发生了相同的行为。

@Component
public class Factory{


@Autowired
private List<BeanInterface> list; // <- I expect a sorted list here
...
}

我做错了什么吗?

最佳答案

从 Spring 4 开始支持订购 Autowiring 的集合。

见:Spring 4 Ordering Autowired Collections

总结:如果您将 @Order(value=1), @Order(value=2)... 添加到您的 bean 定义中,它们将被注入(inject)根据 value 参数排序的集合。这与声明您希望以自然顺序 的集合不同 - 因为您必须在收到列表后自己显式地对列表进行排序,根据 Jordi P.S.'s answer .

关于java - Spring有序的bean列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967971/

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