spring boot @ConditionalOnxxx相關注解總結
阿新 • • 發佈:2019-02-03
下面來介紹如何使用@Condition
- public class TestCondition implements Condition
- {
- /**
- * 只有返回true,才會啟用配置
- */
- public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata)
- {
- return true;
- }
- }
@Conditional(TestCondition.class)
這句程式碼可以標註在類上面,表示該類下面的所有@Bean都會啟用配置,也可以標註在方法上面,只是對該方法啟用配置。
spring框架還提供了很多@Condition給我們用,當然總結用語哪種好理解,看給位讀者嘍
@ConditionalOnBean(僅僅在當前上下文中存在某個物件時,才會例項化一個Bean)
@ConditionalOnClass(某個class位於類路徑上,才會例項化一個Bean)
@ConditionalOnExpression(當表示式為true的時候,才會例項化一個Bean)
@ConditionalOnMissingBean(僅僅在當前上下文中不存在某個物件時,才會例項化一個Bean)
@ConditionalOnMissingClass(某個class類路徑上不存在的時候,才會例項化一個Bean)
@ConditionalOnNotWebApplication(不是web應用)
後續會繼續補充
另一種總結