@ConditionalOnProperty注解可以有条件的加载bean
比如有3个定时任务,想设置开关
1、配置中添加
config:schedule:enabled:aaaScheduler: truebbbScheduler: truecccScheduler: true
2、代码
@Component
@ConditionalOnProperty(prefix = "config.schedule.enabled", name = "aaaScheduler", havingValue = "true")
public class AaaScheduler {
...
}
3、说明
(1)prefix:配置文件中的前缀
(2)name:配置的名字
(3)havingValue:它的值与配置文件的值对比,当两个值相同,类会被加载到spring的IOC容器中
(4)matchIfMissing:缺少该配置时是否可以加载,如果为true,没有该配置属性时也会正常加载,反之则不会生效(默认为false)