spring 4.x @Condition 注解详解

@ConditionalOnBean  当容器有指定Bean的条件下
@ConditionalOnClass  当容器有指定类的条件下
@ConditionalOnExpression 基于SpEL表达式作为判断条件
@ConditionalOnJava 基于JVM版本作为判断条件
@ConditionalOnJndi 在JDNI存在的条件下查找指定位置
@ConditionalOnMissingBean 当容器没有指定Bean的情况下
@ConditionalOnMissingClass 当容器没有指定类的情况下
@ConditionalOnNotWebApplication 当前项目不是Web项目的条件下
@ConditionalOnProperty 指定的属性是否有指定的值
@ConditionalOnResource 类路径是否有指定的值
@ConditionalOnSingleCandidate 当前指定Bean在容器中只有一个,或者虽然有多个但是指定首选Bean
@ConditionalOnWebApplication 当前项目是Web项目的情况下

以上注解都是组合了@Conditional元注解,只是使用了不同的条件  

SpEl表达式连接https://www.jianshu.com/p/e0b50053b5d3

值得一说的是Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效

猜你喜欢

转载自www.cnblogs.com/chenchengyi/p/11164873.html