1. 程式人生 > >spring boot @ConditionalOnxxx相關注解總結

spring boot @ConditionalOnxxx相關注解總結

下面來介紹如何使用@Condition

  1. public class TestCondition implements Condition    
  2. {    
  3.     /**   
  4.      * 只有返回true,才會啟用配置   
  5.      */    
  6.     public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata)    
  7.     {    
  8.         return true;    
  9.     }    
  10. }  

@Conditional(TestCondition.class)

這句程式碼可以標註在類上面,表示該類下面的所有@Bean都會啟用配置,也可以標註在方法上面,只是對該方法啟用配置。

spring框架還提供了很多@Condition給我們用,當然總結用語哪種好理解,看給位讀者嘍

@ConditionalOnBean(僅僅在當前上下文中存在某個物件時,才會例項化一個Bean)
@ConditionalOnClass(某個class位於類路徑上,才會例項化一個Bean)
@ConditionalOnExpression(當表示式為true的時候,才會例項化一個Bean)
@ConditionalOnMissingBean(僅僅在當前上下文中不存在某個物件時,才會例項化一個Bean)
@ConditionalOnMissingClass(某個class類路徑上不存在的時候,才會例項化一個Bean)
@ConditionalOnNotWebApplication(不是web應用)

後續會繼續補充

另一種總結