springboot在配置文件中设置特定功能的启用和停用@ConditionalOnProperty()
程序员文章站
2022-05-30 22:38:05
...
场景:
有时候我们需要在生产和开发环境对某个功能进行不同的设置。例如定时功能@EnableScheduling
,我们希望在测试环境禁用定时自动处理,在生产环境启用,这时候就可以用到这个设置
实现:
创建配置类,增加
@ConditionalOnProperty(prefix = "enable", name = "scheduled", havingValue = "true")
注解
@Configuration
@EnableScheduling //启用定时任务
//配置文件读取是否启用此配置
@ConditionalOnProperty(prefix = "enable", name = "scheduled", havingValue = "true")
public class SchedulingConfig {
}
配置文件中增加:
#打开定时任务
enable:
scheduled: true
注意:
1、只要havingValue = "true"的值和配置文件中的值一致即可启用,并不一定要true和false
2、注意一定要吧项目中其他地方的@EnableScheduling 注解全都去掉,否则此配置不起作用