ps: 在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现
一.构建项目,如图所示:
创建一个用于执行定时任务的接口,以及一个接口的实现类。
二.添加注解
在启动类添加定时注解 @EnableScheduling
在实现类添加定时任务,哪个方法需要执行定时任务,则添加到哪个方法上。
import com.example.smalserver.http.service.server.TimingService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* @Author: caohuijie
* @Date: 创建日期 2018/11/7
* @Modified By:
* @Description: 定时任务类
*/
@Component
@Service
public class TimingServiceImpl implements TimingService {
private int count=0;
@Scheduled(cron="*/6 * * * * ?")
@Override
public void timingTask() {
System.out.println("this is scheduler task runing "+(count++));
}
}
或者:
import com.example.smalserver.http.service.server.TimingService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* @Author: caohuijie
* @Date: 创建日期 2018/11/7
* @Modified By:
* @Description: 定时任务类
*/
@Service
public class TimingServiceImpl implements TimingService {
private int count=0;
@Scheduled(cron="*/6 * * * * ?")
@Override
public void timingTask() {
System.out.println("this is scheduler task runing "+(count++));
}
}
corn表达式:
"0 0 * * * *" 表示每小时0分0秒执行一次
" */10 * * * * *" 表示每10秒执行一次
"0 0 8-10 * * *" 表示每天8,9,10点执行
"0 0/30 8-10 * * *" 表示每天8点到10点,每半小时执行
"0 0 9-17 * * MON-FRI" 表示每周一至周五,9点到17点的0分0秒执行
"0 0 0 25 12 ?" 表示每年圣诞节(12月25日)0时0分0秒执行