springboot中定时任务cron表达式从配置文件读取

前言

最近写项目时遇到一个需求,就是定时任务能不能改成可配置的,只是简单的一个定时任务,不想用xxljob、quartz等这些定时任务框架,没有这个必要,所以取舍下,只要能从配置文件读取就行了

实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Configuration
@Component()

//假如项目已经引入的配置文件, 则不需要@PropertySource注解配置
//@PropertySource(value = "classpath:application.yml")
public class MyJob {

//如果获取不到, 取冒号后面的默认值
@Scheduled(cron = "${jobs.sendGasJob.corn:0/10 * * * * ?}")
public void execute() {

}

}

application.yml

1
2
3
jobs:
sendGasJob:
corn: "0/15 * * * * ?"

看起来是不是很简单