spring boot @ConditionalOnxxx相关注解总结

Spring boot @ConditionalOnxxx相关注解总结

下面来介绍如何使用@Conditionhtml

 

[html] view plain copy
  1. public class TestCondition implements Condition    
  2. {    
  3.     /**   
  4.      * 只有返回true,才会启用配置   
  5.      */    
  6.     public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata)    
  7.     {    
  8.         return true;    
  9.     }    

@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存在,这该注解修饰的代码块不执行。
对象

相关文章
相关标签/搜索