周振林 周振林
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • Spring
  • SpringMVC
  • Mybatis
  • 安装教程
  • 其他教程
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏

周振林

IT界的小学生
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • Spring
  • SpringMVC
  • Mybatis
  • 安装教程
  • 其他教程
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • Spring

    • 接口设计规范
    • Spring IoC
    • Spring AOP
    • SpringBoot基础
    • SpringBoot 常用注解
    • SpringBoot Conditional注解
      • SpringBoot 组件注入方式
      • SpringBoot 组件Bean生命周期
      • SpringBoot自动配置原理
      • SpringBoot自定义Starter
      • SpringBoot其他功能
      • SpringBoot JdbcTemplate
      • SpringBoot事务
      • SpringBoot文档
      • SpringBoot Starter和BOM区别
      • SpringBoot集成Modbus实现设备
      • 查询优化N+1
      • Response设置响应编码
      • Thymeleaf教程
      • Maven教程
      • Tree工具类,轻松搞定树结构
      • 项目代码组织方式
    • SpringMVC

    • Mybatis

    • 安装教程

    • 其他教程

    • 后端
    • Spring
    周振林
    2025-09-12
    目录

    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
    SpringBoot 常用注解
    SpringBoot 组件注入方式

    ← SpringBoot 常用注解 SpringBoot 组件注入方式→

    最近更新
    01
    查询优化N+1
    12-02
    02
    项目代码组织方式
    12-02
    03
    Mybatis分页插件
    12-02
    更多文章>
    Copyright © 2019-2025 鲁ICP备19032096号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×