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 {
	...........
}
相关推荐
科技资讯早知道7 分钟前
java计算机毕设课设—坦克大战游戏
java·开发语言·游戏·毕业设计·课程设计·毕设
苹果醋31 小时前
快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践
spring boot·nginx·毕业设计·layui·课程设计
程序员大金1 小时前
基于SpringBoot+Vue+MySQL的装修公司管理系统
vue.js·spring boot·mysql
小比卡丘1 小时前
C语言进阶版第17课—自定义类型:联合和枚举
android·java·c语言
xmh-sxh-13141 小时前
java 数据存储方式
java
liu_chunhai1 小时前
设计模式(3)builder
java·开发语言·设计模式
ya888g2 小时前
GESP C++四级样题卷
java·c++·算法
【D'accumulation】2 小时前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端
小叶学C++2 小时前
【C++】类与对象(下)
java·开发语言·c++
2401_854391082 小时前
高效开发:SpringBoot网上租赁系统实现细节
java·spring boot·后端