文章目录

  • 1. maven依赖
  • 2. QuartConfig配置文件
  • 3. 创建一个业务处理类UserService
  • 4. Job类 调用方法
  • 5. 手动将对象注入导视牌SringIOC容器类
  • 6. 启动类加注解

1. maven依赖

       <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency>

2. QuartConfig配置文件

package com.gblfy;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.*;@Configuration
public class QuartConfig {//    1.创建job对象@Beanpublic JobDetailFactoryBean jobDetailFactoryBean() {JobDetailFactoryBean factory = new JobDetailFactoryBean();factory.setJobClass(QuartzDemo.class);return factory;}//    2.创建Tigger对象 简单
//    @Bean
//    public SimpleTriggerFactoryBean simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) {//        SimpleTriggerFactoryBean factory = new SimpleTriggerFactoryBean();
//        //关联JobDetail对象
//        factory.setJobDetail(jobDetailFactoryBean.getObject());
//        factory.setRepeatInterval(2000);
//        factory.setRepeatCount(5);
//        //设置重次数
//        return factory;
//    }@Beanpublic CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean) {CronTriggerFactoryBean factory = new CronTriggerFactoryBean();factory.setJobDetail(jobDetailFactoryBean.getObject());//设置触发时间factory.setCronExpression("0/2 * * * * ?");return factory;}//     3.创建scheduler对象@Beanpublic SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean, MyAdaptableJobFactory myAdaptableJobFactory) {SchedulerFactoryBean factory = new SchedulerFactoryBean();//关联Tiggerfactory.setTriggers(cronTriggerFactoryBean.getObject());//注入对象并完成实例化factory.setJobFactory(myAdaptableJobFactory);return factory;}}

3. 创建一个业务处理类UserService

package com.gblfy;import org.springframework.stereotype.Service;@Service
public class UserService {//模拟操作数据库操作业务逻辑public void addUser() {System.out.println("add users....");}
}

4. Job类 调用方法

package com.gblfy;import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;import java.util.Date;/*** Job类*/
public class QuartzDemo implements Job {@Autowiredprivate UserService userService;@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {System.out.println("execute:"+ new Date());this.userService.addUser();}
}

5. 手动将对象注入导视牌SringIOC容器类

package com.gblfy;import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.springframework.stereotype.Component;/*** 手动将对象注入导视牌SringIOC容器类*/
@Component("myAdaptableJobFactory")
public class MyAdaptableJobFactory extends AdaptableJobFactory {@Autowired//可以将一个对象添加到spring的ioc容器中,并完成对象属性的注入private AutowireCapableBeanFactory autowireCapableBeanFactory;/*** 该方法需要将实例化的任务对象手动添加到springioc的容器中,并完成对象的注入** @param bundle* @return* @throws Exception*/@Overrideprotected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {Object obj = super.createJobInstance(bundle);//将obj对象添加到spring的ioc容器中,并完成注入this.autowireCapableBeanFactory.autowireBean(obj);return obj;}
}

6. 启动类加注解

@EnableScheduling

SpringBoot2.x整合quartz定时任务 快速入门相关推荐

  1. Quartz 框架快速入门(四)

    Spring的scheduling.quartz包中对Quartz框架进行了封装,使得开发时不用写任何QuartSpring的代码就可以实现定时任务.Spring通过JobDetailBean,Met ...

  2. Quartz 框架快速入门(二)

    尽可能的用声明式处理软件配置,其次才考虑编程式的方式.在上一篇<Quartz 框架快速入门(一)>中,如果我们要在 Job 启动之后改变它的执行时间和频度,必须去修改源代码重新编译.这种方 ...

  3. Quartz 框架快速入门(三)

    在前面两篇文章中简单介绍了在java应用程序中如何使用Quartz框架,这一篇中我们将看到如何在web环境下通过配置文件来完成Quartz的后台作业调度,而不必手工去创建Trigger和Schedul ...

  4. Quartz.NET快速入门指南

    最近,在工作中遇到了 Quartz.net 这个组件,为了更好的理解项目代码的来龙去脉,于是决定好好的研究一下这个东西.确实是好东西,既然是好东西,我就拿出来分享一下.万丈高楼平地起,我们也从入门开始 ...

  5. Quartz任务调度——快速入门

    目录 一.Quartz概念 二.Quartz运行环境 三.Quartz设计模式 四.Quartz学习的核心概念 五.Qutarz的体系结构 六.Quartz的几个常用API 七.Quartz的使用 八 ...

  6. 基于SpringBoot的SSM整合案例 -- SpringBoot快速入门保姆级教程(四)

    文章目录 前言 1.设计创建数据库表tbl_book 2.创建新的SpringBoot模块,勾选相关依赖 3. 添加SpringBoot创建项目时没有提供的相关坐标 4.根据数据库表创建实体类Book ...

  7. Spring整合Quartz定时任务 在集群、分布式系统中的应用

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:sundoctor www.iteye.com/blog/sundoctor-486 ...

  8. quartz 2.0持久化到mysql_SpringBoot2.0整合Quartz定时任务(持久化到数据库,更为简单的方式)...

    1. pom文件添加依赖 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-start ...

  9. Quartz 框架快速入门(一)

    创建一个 Java 工程,引入几个 JAR 到工程中才能成功构建它们.首先,你需要 Quartz 的二进制版本,包的名字是 quartz-<version>.jar.Quartz 还需要几 ...

最新文章

  1. Tomcat异常退出
  2. Windows XP Service Pack 3 RC2 简体中文版发布
  3. 硬盘数据丢失,到底该如何修复?
  4. python socket代码_python入门之socket代码练习
  5. php面试常问的问题
  6. RHEL5中YUM命令解决RPM包依赖性
  7. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.15
  8. django与easyui使用过程中遇到的问题
  9. VUE3(setup响应式函数系统API)
  10. vue 组件 父向子传值
  11. java集合学习笔记--二维集合HashMap
  12. 书生中学计算机应用自费,浙江省台州市书生中学2016-2017学年高二上学期期中考试信息试题 Word版含答案.doc...
  13. Java实现地图的导出
  14. 机器学习数据预处理之字符串转数字
  15. 数据挖掘算法和实际应用案例
  16. SCTF | 三足鼎立焦点对抗,天枢战队有惊无险斩获冠军头衔
  17. DataFrame按某种指定顺序排序
  18. 再见铁饭碗!又一行业被颠覆!国内第一家无人银行,在上海正式开业!
  19. 已解决:Win10无法访问Samba共享文件夹
  20. 推荐一款免费的cdn加速网站

热门文章

  1. mysql将时间戳转化为天数_mysql 将时间戳直接转换成日期时间
  2. mysql 元数据获取_[MySQL] 获取元数据的步骤
  3. sparkStreaming连接kafka整合hbase和redis
  4. linux重启后地址不是之前设置的静态地址的解决方案
  5. C语言中文件的读取和写入
  6. 想要成为真正优秀的程序员是不是真的很难?
  7. Grafana Prometheus 服务安装部署(Linux服务器监控)
  8. CDH 5.13.0 集成 Phoenix
  9. 程序媛如何自我突破?
  10. 蚂蚁区块链BaaS:开放在云端,落地于实体