在我的Spring Boot應用程序中,我希望在bean初始化後,但在任何依賴bean初始化之前運行一些代碼。 (在我特殊的場景中,我想運行一些代碼來設置一些連接池啓動後的MongoDB索引,但在依賴池啓動的任何Bean之前)。爲Spring Boot中沒有「擁有」的bean添加後構建鉤子
我熟悉@PostConstruct
註釋,它是非常接近我後面的,除了你必須將它添加到類中定義的方法本身。我對Spring生命週期鉤子也很熟悉,但這還不夠好,因爲我需要在一個特定的bean初始化後立即掛鉤。
我所追求的基本上就是@PostConstruct
所做的,但是可以讓您在運行時在實例外部添加一個鉤子。這樣的事情存在嗎?
'@Bean(initMethod =)'或者'BeanPostProcessor' – OrangeDog
如果依賴bean的數量在一定範圍內,您可以使用@DependsOn註釋來確保傳遞的bean在依賴項之前被構造。我不知道如何掛鉤初始化偵聽器。你可以註冊一個BeanPostProcessor,並在bean是正確的類型時執行你的邏輯,但是當你想用MongoTemplate創建索引時,那麼這是不可能的。 –