本文介绍在 spring Boot 中如何使用定时任务,使用非常简单,就不做过多说明了。
代码如下:
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
/**
* 定时任务配置类
*
*/
@Configuration
@EnableScheduling // 启用定时任务
public class SchedulingConfig {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Scheduled(cron = "0/20 * * * * ?") // 每20秒执行一次
public void scheduler() {
//需要定时执行的代码
}
}
@scheduled这个注解是定时任务的核心所在,在某个方法上面标记此注解,即为此方法设置定时调用,当然调用的频率时间还需要在cron中设置
需要注意的地方: 定时任务的Job类需要加上@component注解,让SpringBoot把其实例化到容器中才能生效。配置类需要允许定时,加上注解@enableScheduling.ok, 定时Job核心就这么简单。