Spring boot @ConditionalOnProperty 使用以及作用

@ConditionalOnProperty

来源

java 复制代码
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;

即: 来源于Spring boot 中的自动化配置部分

实际作用:

通过读取本地配置文件中的值来判断 某些 Bean 或者 配置类 是否加入spring 中。

即 当前类通过 @Component 或者 @Configuration 注册实体到spring 中时,都可以通过 @ConditionalOnProperty 来控制是否加入或者说有无该项。

实际使用

@Component 或者 @Configuration 等同级,都置于类上

java 复制代码
@ConditionalOnProperty(prefix = "my",name = "config.switch",havingValue = "true")

java 复制代码
@ConditionalOnProperty(name = "my.kafka.enable", havingValue = "true")

prefix : 为配置前缀,可以没有
name : 如果有前缀则为前缀后面的所有
havingValue: 为配置项的值等于某一值时生效

在配置中如下:

yml 中

yaml 复制代码
my:
  config:
    switch: true

properties 中

bash 复制代码
my.config.switch: true

实例:

java 复制代码
@Configuration
@ConditionalOnProperty(prefix = "swagger", name = "enable", havingValue = "true")
public class SwaggerConfig {
	...........
}
相关推荐
2501_9418824815 分钟前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈33 分钟前
两天开发完成智能体平台
java·spring·go
alonewolf_9938 分钟前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹43 分钟前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理
专注_每天进步一点点1 小时前
【java开发】写接口文档的札记
java·开发语言
代码方舟1 小时前
Java企业级实战:对接天远名下车辆数量查询API构建自动化风控中台
java·大数据·开发语言·自动化
AC赳赳老秦1 小时前
Python 爬虫进阶:DeepSeek 优化反爬策略与动态数据解析逻辑
开发语言·hadoop·spring boot·爬虫·python·postgresql·deepseek
zgl_200537791 小时前
ZGLanguage 解析SQL数据血缘 之 标识提取SQL语句中的目标表
java·大数据·数据库·数据仓库·hadoop·sql·源代码管理
liwulin05061 小时前
【JAVA】创建一个不需要依赖的websocket服务器接收音频文件
java·服务器·websocket
钦拆大仁1 小时前
统一数据返回格式和统一异常处理
java