猿问

如何在没有注入列表的情况下直接获取Spring中最高排序的bean?

有 3 个类UV,W实现接口A,并由@OrderSpring的注解以不同的顺序值进行注解。

我现在通过注入List<A>然后搜索List<A>.

有没有更直接的方法来获得最高优先级的 bean 而不注入整个集合A


猛跑小猪
浏览 172回答 1
1回答

Cats萌萌

据我所知,在 spring 中没有任何方法可以直接获取最高阶的 bean。您的选择是遍历 order beans 并获得最高的一个 - 你已经做了什么创建您自己的注释,例如@HighestOrdered,并编写您自己的 bean 自动装配后处理器以仅获取最高排序的后处理器(此处为自定义后处理器的示例)其他一些选项是使用 @Primary 来表示您更喜欢使用的 bean为它使用@Qualifier但这些都与您要问的完全不同,并且有一些缺点。如果你严格想要做你在问题中提出的问题,我只会做你已经在做的事情并迭代它们,选择最高的顺序。
随时随地看视频慕课网APP

相关分类

Java
我要回答