我在多個stackoverflow問題中閱讀過applicationContext.getbean是一個壞主意。獲得給定類型的彈簧豆的最佳做法
Why is Spring's ApplicationContext.getBean considered bad?
我想知道是否有在春天掃描特定類型的豆的一種更好的方式。
我的用例是在春季啓動期間獲取給定類型的bean,並在這些bean上調用一些方法。
從我所知道的只有兩種方式來做到這一點。
- 自動裝入應用程序上下文到spring bean中並使用appContext.getBeansOfType。
胡克後處理器和
濾我們給定類型的豆如果(類型的bean實例)
我覺得後處理器只處理一種類型的豆掛鉤是不是好主意。因爲這會攔截所有的bean初始化。
任何人都可以提出一個更好的方法來解決我的用例嗎? (給定類型的getBeans)
感謝您的回答。我還有一個問題。在這種情況下使用applicationContext.getBeansOfType有什麼問題?我們沒有將代碼耦合到具體的類。我們將它連接到一個抽象類(或可能是一個接口),我們通過自動裝配該類型的bean列表來完成這個抽象類。 – yaswanth
@yaswanth:我認爲這更適合你鏈接的問題。令我驚訝的是,這個問題中現有的答案都沒有直接的例子,你可以看到效果。所以我加了一個:http://stackoverflow.com/a/41853545/327301 – yankee