定时任务是企业级开发中最常见的功能之一,如定时统计订单数、数据库备份、定时发送短信和邮件、定时统计博客访客等,简单定时任务可以直接通过Spring的@Scheduled注解来实现,复杂的定时任务则可以通过集成Quartz来实现。这里呢主要是讲解一下@Schedued的使用。
@Scheduled是由Spring提供的定时任务注解,使用方便,配置简单,可以解决工作中大部分的定时任务需求。
1、创建工程
首先创建一个普通的SpringBoot Web工程,添加web依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、开启定时任务
在项目启动类上添加@EnableScheduling注解开启定时任务。
@EnableScheduling
@SpringBootApplication
public class EhCacheStudyApplication {
public static void main(String[] args) {
SpringApplication.run(EhCacheStudyApplication.class, args);
}
}
3、配置定时任务
定时任务主要通过@Scheduled注解进行配置。
@Slf4j
@Component
public class MySchedule {
@Scheduled(cron = "0 * * * * ?")
public void cron() {
log.info("cron: " + new Date());
}
}
4、配置完成之后,接下来启动SpringBoot项目即可,定时任务部分打印日志如下: