前言:我学习了网上的资料,把项目整理成前后端分离的项目,后端:springboot quartz mybatis 前端: vue项目
项目的gitee地址: https://gitee.com/qinenqi/quartzdemo
- 引入依赖
org.springframework.boot
spring-boot-starter-quartz - 在resource下面新建quartz.properties文件(只列出了核心配置,详情请参考gtiee上的代码)
org.quartz.dataSource.qzDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.qzDS.URL = jdbc:mysql://127.0.0.1:3306/quartz? useUnicode=true&characterEncoding=utf8
org.quartz.dataSource.qzDS.user = root
org.quartz.dataSource.qzDS.password = root - application.yml 配置对应的数据库
- 目录结构
- 新建SchedulerConfig类,用来配置quartz
import org.quartz.Scheduler;
import org.quartz.ee.servlet.QuartzInitializerListener;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import java.io.IOException;
import java.util.Properties;
/**
quartz 配置
*/
@Configuration
public class SchedulerConfig {@Bean(name=“SchedulerFactory”)
public SchedulerFactoryBean schedulerFactoryBean() throws IOException {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
factory.setQuartzProperties(quartzProperties());
return factory;
}@Bean
public Properties quartzProperties() throws IOException {
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
//在quartz.properties中的属性被读取并注入后再初始化对象
propertiesFactoryBean.afterPropertiesSet();
return propertiesFactoryBean.getObject();
}/**
- quartz初始化监听器
- 这个监听器可以监听到工程的启动,在工程停止再启动时可以让已有的定时任务继续进行。
- @return
*/
@Bean
public QuartzInitializerListener executorListener() {
return new QuartzInitializerListener();
}
/**
*
*通过SchedulerFactoryBean获取Scheduler的实例
*/@Bean(name=“Scheduler”)
public Scheduler scheduler() throws IOException {
return schedulerFactoryBean().getScheduler();
}
}
6. 对应的crud操作等省略
7. 前端项目省略
该项目对应的gitee上的地址为:https://gitee.com/qinenqi/quartzdemo