依赖
<!--添加web支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!--添加Quartz的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
<version>2.5.4</version>
</dependency>
job
package com.example;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.text.SimpleDateFormat;
import java.util.Date;
public class QuartzJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println(sdf.format(date));
}
}
配置类
package com.example;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartzConfig {
//定义任务详情
@Bean
public JobDetail jobDetail() {
//指定job的名称和持久化保存任务
return JobBuilder
.newJob(QuartzJob.class)//任务处理类
.withIdentity("Quartz")//定义任务名称
.storeDurably()
.build();
}
//定义触发器
@Bean
public Trigger orderTrigger() {
//方式一
SimpleScheduleBuilder builder =
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMinutes(1) //定义时间周期,1分钟执行一次
.repeatForever();
// //方式二
// CronScheduleBuilder builder =
// CronScheduleBuilder.cronSchedule("*/1 * * * * ?");
//
// //方式三
// CronScheduleBuilder builder =
// CronScheduleBuilder.weeklyOnDayAndHourAndMinute(DateBuilder.MONDAY, 3, 0);//每周一三点执行一次
return TriggerBuilder
.newTrigger()
.forJob(jobDetail())
.withIdentity("orderQuartz")
.withSchedule(builder).build();
}
}
启动类
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args){
SpringApplication.run(App.class, args);
}
}