@Conditional自動配置報告

一:@Condtional派生註解(可以看Spring註解版原生的@Conditional作用)
作用:必須是@Conditional指定的條件成立,纔給容器添加組件,配置裏面配置的內容纔會生效。

Conditional擴展註解 作用(判斷是否滿足當前指定條件)
ConditionalOnJava 系統的java版本是否符合要求
ConditionalOnBean 容器中存在指定Bean
ConditionalOnMissingBean 容器中不存在指定Bean
ConditionalOnExpression 滿足SpEl表達式指定
ConditionalOnClass 系統中存在指定的類
ConditionalOnMissingClass 系統中沒有指定的類
ConditionalOnSingleCandidate 容器中只有一個指定的Bean,或者這個Bean是首選的Bean
ConditionalOnProperty 系統中指定的屬性是否有指定的值
ConditionalOnResource 類路徑下是否存在指定的資源文件
ConditionalOnWebApplication 當前是web環境
ConditionalOnNotWebApplication 當前不是web環境
ConditionalOnJndi JNDI存在指定項

自動配置類必須在一定條件下才能生效

二:我們怎麼知道那些自動配置類生效
我們可以通過使用debug=true屬性,來讓控制檯自動打印自動配置報告,這樣我們就很方便的知道那些自動配置類生效

============================
CONDITIONS EVALUATION REPORT
============================


Positive matches:(自動配置類啓用的)
-----------------

   AopAutoConfiguration matched:
      - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)

   AopAutoConfiguration.ClassProxyingConfiguration matched:
      - @ConditionalOnMissingClass did not find unwanted class 'org.aspectj.weaver.Advice' (OnClassCondition)
      - @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)

egative matches:(沒有啓動,匹配成功的自動配置類)
-----------------

   ActiveMQAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章