SpringBoot Conditional注解
# Conditional 派生注解
| @Conditional 派生注解 | 作用 |
|---|---|
| @ConditionalOnCloudPlatform | 判定是否指定的云平台,支持:NONE、CLOUD_FOUNDRY、HEROKU、SAP、NOMAD、KUBERNETES、AZURE_APP_SERVICE |
| @ConditionalOnRepositoryType | 判定是否指定的JPA类型,支持:AUTO、IMPERATIVE、NONE、REACTIVE |
| @ConditionalOnJava | 判断Java版本范围,支持:EQUAL_OR_NEWER、OLDER_THAN |
| @ConditionalOnMissingBean | 容器中没有指定组件,则判定true |
| @ConditionalOnMissingFilterBean | 容器中没有指定的Filter组件,则判定true |
| @ConditionalOnGraphQlSchema | 如果GraphQL开启,则判定true |
| @ConditionalOnSingleCandidate | 如果容器中指定组件只有一个,则判定true |
| @ConditionalOnClass | 如果存在某个类,则判定true |
| @ConditionalOnCheckpointRestore | 判断是否导入了 org.crac.Resource,导入则判定true |
| @ConditionalOnNotWebApplication | 如果不是Web应用,则判定true |
| @ConditionalOnEnabledResourceChain | 如果web-jars存在或者resource.chain开启,则判定true |
| @Profile | 如果是指定Profile标识,则判定true;【后面会说】 |
| @ConditionalOnMissingClass | 如果不存在某个类,则判定true |
| @ConditionalOnWebApplication | 如果是Web应用,则判定true |
| @ConditionalOnResource | 如果系统中存在某个资源文件,则判定true |
| @ConditionalOnNotWarDeployment | 如果不是war的部署方式,则判定true |
| @ConditionalOnDefaultWebSecurity | 如果启用了默认的Security功能,则判断true |
| @ConditionalOnExpression | 如果表达式计算结果为true,则判定true |
| @ConditionalOnWarDeployment | 如果是war的部署方式,则判定true |
| @ConditionalOnBean | 如果容器中有指定组件,则判定true |
| @ConditionalOnThreading | 如果指定的threading激活,则判定true |
| @ConditionalOnProperty | 如果存在指定属性,则判定true |
| @ConditionalOnJndi | 如果JNDI位置存在,则判定true |
Last Updated: 2025/10/22, 08:25:28