首頁 > Java > 如何找到Spring @Bean注入的位置

如何找到Spring @Bean注入的位置

PHPz
發布: 2024-02-09 08:30:20
轉載
841 人瀏覽過

php小編蘋果將為大家介紹如何找到Spring @Bean注入的位置。在開發過程中,我們經常需要使用依賴注入來管理物件的建立和組裝。而Spring框架提供了@Bean註解來識別一個方法傳回的物件需要被Spring容器管理。但有時候我們可能會遇到需要找到特定的注入位置的情況,這時候就需要使用一些技巧來定位到@Bean注入的位置。接下來,我們將分享幾種方法來幫助您輕鬆找到Spring @Bean注入的位置。

問題內容

我正在設定一個 Spring bean,例如:

@豆子 fun myService(): = MyService()

是否可以知道這個bean將被注入到哪裡?

我嘗試過使用 BeanFactoryPostProcessor 但沒有這種可能性。

我想到的唯一解決方案是循環遍歷所有 bean 並透過反射檢查建構函數參數。但如果沒有多個相同類型的 bean,參數名稱可能與 bean 名稱不同。

解決方法

您可以使用相依性偵測介面

#
@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(TestApplication.class, args);
        for (String bean: run.getBeanFactory().getDependentBeans("myService")) {
            System.out.println(bean);//the bean injected myService
        }
    }

}
登入後複製

以上是如何找到Spring @Bean注入的位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板