下面來介紹如何使用@Conditionhtml
@Conditional(TestCondition.class)
web
這句代碼能夠標註在類上面,表示該類下面的全部@Bean都會啓用配置,也能夠標註在方法上面,只是對該方法啓用配置。框架
Spring框架還提供了不少@Condition給咱們用,固然總結用語哪一種好理解,看給位讀者嘍spa
@ConditionalOnBean(僅僅在當前上下文中存在某個對象時,纔會實例化一個Bean)
@ConditionalOnClass(某個class位於類路徑上,纔會實例化一個Bean)
@ConditionalOnExpression(當表達式爲true的時候,纔會實例化一個Bean)
@ConditionalOnMissingBean(僅僅在當前上下文中不存在某個對象時,纔會實例化一個Bean)
@ConditionalOnMissingClass(某個class類路徑上不存在的時候,纔會實例化一個Bean)
@ConditionalOnNotWebApplication(不是web應用).net
後續會繼續補充xml
另外一種總結htm
@ConditionalOnClass:該註解的參數對應的類必須存在,不然不解析該註解修飾的配置類;
@ConditionalOnMissingBean:該註解表示,若是存在它修飾的類的bean,則不須要再建立這個bean;能夠給該註解傳入參數例如@ConditionOnMissingBean(name = "example"),這個表示若是name爲「example」的bean存在,這該註解修飾的代碼塊不執行。對象