@Conditional的擴展註解

@Conditional的擴展註解

1.class條件註解

@ConditionalOnClass:某個class位於類路徑上,纔會實例化一個Bean。

@ConditionalOnMissingClass:某個class類路徑上不存在的時候,纔會實例化一個Bean。

2.Bean條件註解

@ConditionalOnBean:當容器中有指定Bean的條件下進行實例化。

@ConditionalOnMissingBean:當容器裏沒有指定Bean的條件下進行實例化。

3.屬性條件註解

@ConditionalOnProperty:當指定的屬性有指定的值時進行實例化。

4.Resource條件註解

@ConditionalOnResource:當類路徑下有指定的資源時觸發實例化。

5.web條件註解

@ConditionalOnNotWebApplication:不是web應用,纔會實例化一個Bean。

@ConditionalOnWebApplication:當項目是一個Web項目時進行實例化。
6.表達式條件註解

@ConditionalOnExpression:基於SpEL表達式的條件判斷,當表達式爲true的時候,纔會實例化一個Bean。



@ConditionalOnJava:當JVM版本爲指定的版本範圍時觸發實例化。
@ConditionalOnJndi:在JNDI存在的條件下觸發實例化。
@ConditionalOnSingleCandidate:當指定的Bean在容器中只有一個,或者有多個但是指定了首選的Bean時觸發實例化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章