在项目开发过程中,经常需要定时任务来做一些内容,比如定时进行数据统计(阅读量统计),数据更新(生成每天的歌单推荐)等。
Spring Boot默认已经实现了,我们只需要添加相应的注解就可以完成定时任务的配置。下面分两步来配置一个定时任务:
- 创建定时任务
- 启动类添加注解
创建定时任务
这里需要用到Cron表达式,如果对Cron表达式不是很熟悉,可以查看。
这是我自定义的一个定时任务:每10s中执行一次打印任务。
</span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">final</span> SimpleDateFormat simpleDateFormat = <span style="color: #0000ff;">new</span> SimpleDateFormat("yyyy-MM-dd HH:mm:ss"<span style="color: #000000;">);
@Scheduled(cron </span>= "*/10 * * * * ?"<span style="color: #000000;">)
</span><span style="color: #008000;">//</span><span style="color: #008000;"> 每10s执行一次,秒-分-时-天-月-周-年</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> test() <span style="color: #0000ff;">throws</span><span style="color: #000000;"> Exception {
System.out.println(simpleDateFormat.format(</span><span style="color: #0000ff;">new</span> Date()) + "定时任务执行咯"<span style="color: #000000;">);
}
}
启动类添加注解
在启动类上面添加@EnableScheduling注解,开启Spring Boot对定时任务的支持。
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
SpringApplication.run(DemoApplication.</span><span style="color: #0000ff;">class</span><span style="color: #000000;">,args);
}
}