配置Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效
如下代码:
@Bean
@ConditionalOnProperty(name = "xxx1", havingValue = "false", matchIfMissing = true)
public SecureProxyService secureProxyService() {
return new SecureProxyServiceImpl();
}
@Bean
@ConditionalOnProperty(name = "xxx1", havingValue = "true")
public SecureProxyService SecureProxyServiceImpl1() {
return new SecureProxyServiceImpl1();
}
根据配置信息,选择使用接口的实现类,只有一个生效;
matchIfMissing--默认选择的配置项,当配置为空时,matchIfMissing为true;
name--配置项的key,不存在时,返回false,存在时,和havingValue的值进行比较,相同值的配置生效;