Conditional條件初始化bean的配置

2021-10-09 07:51:16 字數 820 閱讀 2624

在某些情況下我們無法進行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...