我想讓我的彈簧引導配置類別A
依賴於另一個配置類別B
,即A
配置僅在評估B
配置時才被評估。如何以另一種配置爲條件進行配置?
在現實情況下,我有數以百計的Ai
配置只有一個B
,我想實現一個方法只B
在測試過程中排除,排除所有Ai
CONFIGS。
我試過如下:
@Configuration
@ConditionalOnBean(type = "org.my.B")
public class A1AutoConfiguration {
// ...
}
凡B
是無條件配置類。
但是當我運行mvn spring-boot:run -Ddebug=true
我看到A
是不會求因爲B
丟失。雖然B
內部創建的bean在應用程序上下文中,但B
本身不是。
不過,我覺得我可以讓Ai
配置類依賴於內部B
創建咖啡豆,但我不喜歡那麼多這種解決方案。
是否有更清潔(和工作)的方式來實現這種依賴機制?
我不明白這裏有什麼問題,你讓所有的Ai都依賴於B,並且沒有B,因爲你明確地排除了B,所以它們沒有加載。這不是預期的行爲嗎?你想做什麼? –
不,他們被排除**總是**,而不僅僅是當我禁用'B'。 –