避免我所經歷的春天文檔,和整個以下說明─爲什麼getBean()方法應該在Spring應用程序
來到然後可以使用的getBean檢索bean的實例。 ApplicationContext接口有幾個其他方法可用於 檢索bean,但理想情況下,您的應用程序代碼不應使用 這些方法。 事實上,您的應用程序代碼應該沒有調用 getBean()方法的所有,因此不依賴於所有的Spring API。例如,Spring與Web框架的集成爲各種Web框架組件(如 控制器和JSF管理的bean)提供了 依賴注入,允許您通過元數據聲明對特定Bean的依賴關係(例如自動裝配 註釋)。
參考 - https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html
在我的申請,我收到了一些參數,我的客戶的方法,在此基礎上,我注入接口的正確實施。 我這樣做的方式是在連接這些參數後搜索bean id。 例如,如果我收到type=C
,subType=D
,我通過調用getBean(beanId)獲得與bean id=typeCsubTypeD
的bean。 即,我的依賴關係決定於運行時間。
我已經通過Why is Spring's ApplicationContext.getBean considered bad?
走了,但,這並不能掩蓋我的使用情況下(也通過在問題中留言討論)。
有趣的問題,你可以分享代碼嗎?參數的方式是什麼? – Andrew
我的項目在另一個應用程序中用作jar庫。該應用程序調用這個jar的方法。現在基於它通過什麼參數,我必須選擇bean併產生結果。 – Deb