Spring注解ConditionalOnProperty

通过属性值来控制configuration是否生效

@Configuration
@ConditionalOnProperty(name="config.enabled",havingValue = "true")
public class ConfigBean {
	//...
}

// 属性设置
config.enabled=true

单一属性

(不设置前缀 prefix )

name指定属性名
havingValue 指定属性的值
matchIfMissing 没有指定属性的时候,是否启用configuration,默认不启用

  • 设置属性,优先根据属性值去匹配
    在这里插入图片描述

  • 没设置属性,看 matchIfMissing 的值
    matchIfMissing default false

多属性值

设置前缀 prefix, 并且必须设置 name 或者value

这以两个值为例:

@Configuration
@ConditionalOnProperty(prefix="self",name={"a","b"},havingValue = "true")
public class ConfigBean {
	//...
}
// 属性设置
self.a=true
self.b=true
  • 都满足
    即:
    self.a=true
    self.b=true
    则生效

  • 任何一个属性不满足
    即:
    self.a=true
    self.b=false
    或者
    即:
    self.a=abc
    self.b=true
    则不生效

  • 一个满足 一个不设置
    即:
    self.a=true
    或者
    self.b=true
    此时看matchIfMissing
    为true则生效,否则不生效

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值