在某些情況下我們無法進行bean的初始化。由於某種原因如果繼續初始化很可能丟擲異常。這個時候更好的做法是不進行初始化。例如在資料庫操作時,如果沒有配置資料來源的資訊。我們希望進行datasource的初始化。這時就可以使用@conditional來達到目的。
在需要判斷的方法中加入@conditional說明配置的條件類。而條件類則需要實現org.springframework.context.annotation.condition介面並實現matches()方法。
@component
public class conditionalutil implements condition
return false;}}
@component
@configuration
public class conditionaltest
}
@component
public class testutil8 implements commandlinerunner
else }}
當配置項:bean.controller=11
時
當配置項:bean.controller != 11 時
條件註解 Conditional
可以讓某乙個bean 在某些條件下 加入ioc容器,其他情況下不加ioc容器。a.準備普通bean b.增加條件bean 給每個bean設定條件,必須實現condition介面 如 oilcarcondition類 public class oilcarcondition implements co...
Conditional條件裝配原理
conditional條件裝配是spring4引入的新特性,與 profile類似 偏向於靜態啟用和配置 而 conditional關注與執行時的動態選擇。api如下 target retention retentionpolicy.runtime documented public inte ce...
Conditional 按照條件註冊bean
conditional 通過改註解能判讀根據條件動態建立bean person類 public class person override public string tostring public person string name,int age public string getname p...