SpringBoot2.0新特性-Quartz自動化配置集成
在新版本的 發布後,急迫嘗鮮的我將相關的項目已經更換為最新版本,在 源碼 看到更新日誌,表明了針對 新版本進行了 自動化配置,省去了很多繁瑣的配置。
官網更新日誌
Auto-configuration support is now include for the Quartz Scheduler. We』ve also added a new starter POM. You can use in-memory , or a full JDBC-based store. All , and beans from your Spring application context will be automatically registered with the . For more details read the new "Quartz Scheduler" section of the reference documentation.
版本集成了 官網最新版本。
本章目標
使用 新特性完成 自動化配置。
SpringBoot 企業級核心技術學習專題
構建項目
在前面章節第四十章:基於SpringBoot & Quartz完成定時任務分散式多節點負載持久化內我們已經通過添加配置的方式完成集成,為了本章的方便直接複製之前的項目,在基礎上進行修改。 打開 配置文件, 為我們提供了對應的依賴,我們將之前的 相關依賴刪除,替換為 ,如下所示:
刪除QuartzConfiguration配置類
在之前章節我們使用 配置類來完成了 需要的一系列配置,如: 、 等,在我們添加 依賴後就不需要主動聲明工廠類,因為 已經為我們自動化配置好了。
自動化配置源碼
我們找到 的 並且展開 ,找到 ,該目錄就是 為我們提供的 自動化配置源碼實現,在該目錄下有如下所示幾個類:
該類替代了我們之前在 配置類的 內部類實現,主要作用是我們自定義的 子類被進行託管,可以在定時任務類內使用注入任意被 託管的類。
該類是一個枚舉類型,定義了對應 、 文件內 配置,其目的是配置 任務的數據存儲方式,分別為:MEMORY(內存方式: )、JDBC(資料庫方式)。
該類是自動配置的主類,內部配置了 以及 ,使用 作為屬性自動化配置條件。
該類主要用於數據源初始化後的一些操作,根據不同平台類型的資料庫進行選擇不同的資料庫腳本。
該類對應了 在 、 文件內開頭的相關配置。
這是一個介面,我們實現該介面後並且將實現類使用 託管,可以完成 的個性化設置,這裡的設置完全可以對 做出全部的設置變更。
spring.quartz配置
看到 類源碼,我們知道了,想要使用自動化配置,需要滿足 屬性配置類的初始化,所以我們需要再 、 配置文件內添加對應的配置信息,如下所示:
該配置其實代替了之前的 ,我們把之前 配置文件內的所有配置轉換成 風格,對應的添加在該配置下即可,在 類內,會自動調用 的 方法,把 內的所有配置進行設置。
設置 任務的數據持久化方式,默認是內存方式,我們這裡沿用之前的方式,配置 以使用資料庫方式持久化任務。
該配置目前版本沒有生效,根據官網文檔查看,其目的是自動將 需要的數據表通過配置方式進行初始化。
測試
啟動項目
打開瀏覽器訪問 進行添加定時任務
查看控制台輸出
根據控制台內容,可以看到我們的定時任務已經正常的開始執行,當然我們如果打開 同樣可以實現 的效果。
總結
綜上所述我們已經完成了 集成 ,我們只需要添加依賴、添加配置即可,別的不需要做任何代碼編寫。
本章源碼已經上傳到碼云: SpringBoot配套源碼地址:https://gitee.com/hengboy/spring-boot-chapter SpringCloud配套源碼地址:https://gitee.com/hengboy/spring-cloud-chapter SpringBoot相關係列文章請訪問:目錄:SpringBoot學習目錄 QueryDSL相關係列文章請訪問:QueryDSL通用查詢框架學習目錄 SpringDataJPA相關係列文章請訪問:目錄:SpringDataJPA學習目錄,感謝閱讀!
加入知識星球,恆宇少年帶你走以後的技術道路!!!
TAG:恆宇少年 |