一: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”表示在每月的第三個周六