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 {
	...........
}
相关推荐
毕设源码-欧阳学姐几秒前
计算机毕业设计springboot网咖管理系统 基于 SpringBoot 的电竞馆综合运营平台 融合 SpringBoot 技术的网吧智能营业系统
spring boot·后端·课程设计
s***w1123 分钟前
SpringSecurity的配置
java
咖啡の猫10 分钟前
Python顺序结构
java·前端·python
key0611 分钟前
从数据安全体系逆推数据自由度的权力本质
java·开发语言
q***735512 分钟前
ES在SpringBoot集成使用
spring boot·elasticsearch·jenkins
z***438417 分钟前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
白露与泡影19 分钟前
大厂Java面试前复习的正确姿势(800+面试题附答案解析)
java·开发语言·面试
N***p36520 分钟前
Springboot项目中线程池使用整理
java·spring boot·后端
asom2221 分钟前
互联网大厂Java全栈面试故事:从Spring Boot、分布式到AI业务场景深度剖析
java·spring boot·分布式·缓存·微服务·消息队列·面试经验
程序定小飞25 分钟前
基于SpringBoot+Vue的常规应急物资管理系统的设计与实现
java·开发语言·vue.js·spring boot·后端·spring