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 {
	...........
}
相关推荐
kill bert3 小时前
Java八股文背诵 第四天JVM
java·开发语言·jvm
Pitayafruit5 小时前
📌 Java 工程师进阶必备:Spring Boot 3 + Netty 构建高并发即时通讯服务
spring boot·后端·netty
梦想实现家_Z5 小时前
SpringBoot实现MCP Server实战详解
spring boot·后端·mcp
你是理想6 小时前
wait 和notify ,notifyAll,sleep
java·开发语言·jvm
helloworld工程师6 小时前
【微服务】SpringBoot整合LangChain4j 操作AI大模型实战详解
java·eclipse·tomcat·maven
Java&Develop6 小时前
idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊
java·ide·intellij-idea
q567315237 小时前
使用Java的HttpClient实现文件下载器
java·开发语言·爬虫·scrapy
遥不可及~~斌7 小时前
Spring Boot 项目日志系统全攻略:Logback、Log4j2、Log4j与SLF4J整合指南
spring boot·log4j·logback
你们补药再卷啦7 小时前
不用额外下载jar包,idea快速查看使用的组件源码
java·ide·intellij-idea
爱的叹息7 小时前
Spring Boot 自定义配置类(包含字符串、数字、布尔、小数、集合、映射、嵌套对象)实现步骤及示例
java·linux·spring boot