0
請在標記重複之前完成問題。可以在評論中討論更多通過構造器注入在其他bean中連接條件bean
我有以下代碼,其中ServiceA依賴於ServiceB。而serviceB實現bean將有條件地初始化
class ServiceA{
ServiceB serviceB;
ServiceA(ServiceB serviceB){
this.serviceB = serviceB;
}
}
@Configuration
class AppConfig{
@Conditional("some_condition_based_on_property")
@Bean
ServiceB serviceB1(){
return new ServiceBImpl1();
}
@Conditional("some_condition_based_on_property")
@Bean
ServiceB serviceB2(){
return new ServiceBImpl2();
}
@Bean
ServiceA serviceA(){
//what should go here so that conditional bean is injected in ServiceA
}
}
我不能自動檢測ServiceA豆,因爲我需要在一些關鍵的一個Map注入它。 我看到的一個選擇是刪除構造注入,並在serviceA中有serviceB bean @autowired,這對我來說是最後一個選項。還有其他選擇嗎?
編輯:我不想在注射期間有if-else,因爲這些bean可以在不同的地方定義。我將只使用@Conditional
http://stackoverflow.com/questions/19225115/how-to-do-conditional-auto-wiring-in-spring可能的重複? – aksappy
你可以檢查http://stackoverflow.com/questions/19225115/how-to-do-conditional-auto-wiring-in-spring –
更新了問題。相關問題沒有解決我的具體問題 – sidgate