| @Conditional | 用来标识一个SpringBean或者Configuration配置文件 当满足指定的条件才开启配置 |
| @ConditionalOnBean | 当容器中有指定的Bean才开启配置 |
| @ConditionalOnMissingBean | 与ConditionalOnBean注解相反,当容器中没有指定Bean才开启配置 |
| @ConditionalOnClass | 当容器中有指定的Class才开启配置 |
| @ConditionalOnMissingClass | 当容器中没有指定的Class才开启配置 |
| @ConditionalOnWebApplication | 当前项目是WEB项目才开启配置 |
| @ConditionalOnNotWebApplication | 当前项目不是WEB项目才开启配置 |
| @ConditionalOnProperty | 当指定属性有指定的值时才开启配置 |
| @ConditionalOnExpression | 当SpEL表达式为true时才开启配置 |
| @ConditionalOnJava | 当运行的java JVM在指定的版本范围时才开启配置 |
| @ConditionalOnResource | 当类路径下有指定的资源才开启配置 |
| @ConditionalOnJndl | 当指定的JNDL存在时才开启配置 |
| @ConditionalOnCloudPlatform | 当指定的云平台激活时才开启配置 |
| @ConditionalOnSingleCandidateq | 当指定的class 在容器中只有一个Bean 或者同时有多个但为首选时才开启配置 |