有 3 個類U, V,W實(shí)現(xiàn)接口A,并由@OrderSpring的注解以不同的順序值進(jìn)行注解。我現(xiàn)在通過注入List<A>然后搜索List<A>.有沒有更直接的方法來獲得最高優(yōu)先級的 bean 而不注入整個集合A?
1 回答

Cats萌萌
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個贊
據(jù)我所知,在 spring 中沒有任何方法可以直接獲取最高階的 bean。您的選擇是
遍歷 order beans 并獲得最高的一個 - 你已經(jīng)做了什么
創(chuàng)建您自己的注釋,例如
@HighestOrdered
,并編寫您自己的 bean 自動裝配后處理器以僅獲取最高排序的后處理器(此處為自定義后處理器的示例)
其他一些選項(xiàng)是
使用 @Primary 來表示您更喜歡使用的 bean
為它使用@Qualifier
但這些都與您要問的完全不同,并且有一些缺點(diǎn)。
如果你嚴(yán)格想要做你在問題中提出的問題,我只會做你已經(jīng)在做的事情并迭代它們,選擇最高的順序。
添加回答
舉報
0/150
提交
取消