一:Quartz框架
什么是Quartz:Quartz 是 OpenSymphony 开源组织的一个 Java 开源项目, 在 2009 被 Terracotta 收购
Quartz是做什么的:在某一个规定的时间做某件事情,Quartz就是给一个触发条件的定义,它就会负责到了时间点(满足了触发事件的条件)触发相应的任务
举例说Quartz可以做的事情(生活中的案例):
1、每年的生日
2、每个月的花呗还款
3、每间隔一个小时,备份自己的学习笔记
Quartz的特性:
1、强大的调度功能,例如支持多样的调度方式
2、灵活的应用方式,例如支持任务和调度的多种组合方式


3、创建一个Quartz的配置类 使用@Configuration注解,这个注解就相当于xml中的标签,还会用到@bean注解,该相当于标签,通常二者结合使用
4、编写一个调度器
调度器中的方法:
1、fixedDelay 在上一个任务结束之后N秒触发 单位为毫秒
2、fixedRate 在上一个任务开始之后N秒开始 单位为毫秒
3、cron = 复杂的周期调度方式 等号后面是一个表达式 cron=“表达式” 表达式格式:表达式:[秒] [分] [时] [日] [月] [周] [年] 年一般不设置
cron表达式中的通配符: 生成通配符的网站:https://qqe2.com/cron
1、*表示所有值。 例如:在分的字段上设置 *,表示每一分钟都会触发。
2、? 表示不指定值,不需要关心当前设置这个字段的值
3、- 表示区间。例如 在小时上设置 “10-12”,表示 10,11,12点都会触发
4、, 表示指定多个值,例如在周字段上设置 “MON,WED,FRI” 表示周一,周三和周五触发
5、/ 用于递增触发。0/5 每隔5秒
6、L 表示最后的意思 W 表示离指定日期的最近那个工作日(周一至周五)
7、# 序号(表示每月的第几个周几),例如在周字段上设置”6#3”表示在每月的第三个周六