Conditional 派生注解(spring 注解版原生@Condition作用)
作用:必须是@Condition指定的条件成立,才给容器添加组件,配置类里面的属性才会生效。
@Conditional扩展注解 | 作用(判断是否满足当前指定条件) |
---|---|
@CoditionalOnJava | 系统的Java版本是否符合要求 |
@ConditionalOnBean | 容器中存在指定的Bean |
@ConditionalOnMessingBean | 容器中不存在指定的Bean |
@ConditionalOnExpression | 满足SpEL表达式指定 |
@ConditionalOnClass | 系统中有指定的类 |
@ConditionalOnMessingClass | 系统中没有指定的类 |
@ConditionalOnSingleCandidate | 容器中只有一个指定的Bean,或者这个Bean是首选Bean |
@ConditionalOnProperty | 系统中指定的属性是否有指定的值 |
@ConditionOnResource | 类路径下是否存在指定的资源文件 |
@ConditionOnWebApplication | 当前是Web环境 |
@ConditionalOnNotWebApplication | 当前不是Web环境 |
@ConditionalOnJndi | JNDI存在指定的项 |
自动配置类在一定的条件下才会生效
我们可以使用debug=true属性,来让控制台打印条件评估报告,
Positive matches:匹配上的
Negative matches:没有匹配上的