maven配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
示例
@Component
@Log4j2
@EnableScheduling
@Configuration
public class ScheduledTask {
@Resource
private GoodFixedService goodFixedService;
/**
* 每分钟执行
*/
@Scheduled(cron = "0 * * * * ? ")
protected void perMinute() {
}
/**
* 每5分钟执行
*
* @throws JobExecutionException
*/
@Scheduled(cron = "0 */5 * * * ? ")
protected void perMinuteFive() {
}
/**
* 每小时
*/
@Scheduled(cron = "0 0 * * * ? ")
protected void hourFore() {
}
/**
* 每天凌晨4点执行
*/
@Scheduled(cron = "0 0 4 * * ? ")
protected void dailyFore() {
}
/**
* 每天凌晨1点执行
*/
@Scheduled(cron = "0 0 1 * * ? ")
protected void dailyOne() {
}
/**
* 每天凌晨2点执行
*/
@Scheduled(cron = "0 0 2 * * ? ")
protected void dailyTwo() {
}
/**
* 每天凌晨0点执行
*/
@Scheduled(cron = "0 0 0 * * ? ")
protected void dailyZero() {
}
/**
* 每个月1 号 0点执行
*/
@Scheduled(cron = "0 0 0 1 * ? ")
protected void monthly() {
}
}
cron表达式说明
cron表达式可以对定时器执行的时间进行设置,其中有6到7个参数,最少6个。
依次为:
秒:0-59
分:0-59
时:0-23
天:0-31
月:0-11
周:1-7
年:1970-2099(注:较少用)
注:每个元素可以是一个值(如8),一个连续区间(6-8),一个间隔时间(6-8/4),其中/表示间隔,一个列表(2.4,6),通配符。由于日期和星期几这两个互斥的,当一个设定时,必须要对另一个设置?.