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 {
	...........
}
相关推荐
tachibana210 小时前
hot100 回文链表(234)
java·网络·数据结构·leetcode·链表
可乐ea10 小时前
【Java八股|第10篇】Java 中的包装类和自动拆装箱
java·面试题·包装类·java八股
zfoo-framework10 小时前
mongo最佳实战(from mongo中文社区)
java
深盾科技_Virbox11 小时前
加密狗授权能力选型:从授权模型到全生命周期管理
java·网络·数据库
. . . . .11 小时前
Egg框架深入
java·开发语言
RainCity12 小时前
Java Swing 自定义组件库分享(十三)
java·笔记·后端
livemetee12 小时前
【关于Spring声明式事务】
java·后端·spring
倒流时光三十年12 小时前
Java 内存模型(JMM)通俗解释
java·开发语言
码兄科技13 小时前
Java AI智能体开发实战:从零构建企业级智能应用指南
java·开发语言·人工智能
2401_8595062413 小时前
AIGC赋能大漆摆件设计:从痛点分析到技术架构与实战验证
java·大数据·人工智能