@ConditionalOnProperty:
作用:
控制某个configuration是否生效。
解释:
可增加在:类上、方法上
具体操作是通过其两个属性name以及havingValue来实现的,
其中name用来从application.yml中读取某个属性值,
如果该值为空,则返回false;如果值不为空,
则将该值与havingValue指定的值进行比较,
如果一样则返回true;否则返回false。
如果返回值为false,
则该configuration不生效;
为true则生效。
实例:
/**
* @author gourd
* @create 2018/11/1
*/
@Configuration
//控制Configuration是否生效
@ConditionalOnProperty(name = "spring.kafka.gourd.enabled", havingValue = "true")
public class KafkaConsumerConfig {
}
// 配置类信息
application.yml:
spring:
kafka:
gourd:
enabled: false # kafka开关