欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 注解全都去掉,否则此配置不起作用