Spring Batch 設計的時候充分考慮了可擴展性和各種終端用戶。架構
下圖顯示了 Spring Batch 的架構層次示意圖,這種架構層次爲終端用戶開發者提供了很好的擴展性與易用性.框架
上圖顯示的是 Spring Batch 層級體系結構設計
這個層級體系結構高亮顯示了 Spring Batch 的 3 個主要組件:應用(Application),核心(Core)和 基礎架構(Infrastructure)。code
應用層包含了全部的批量做業和開發者使用 Spring Batch 寫的全部自定義代碼。批量核心層包含了全部運行和控制批量做業所需必要的運行時類。同時還包括了有 JobLauncher
, Job
, 和 Step
的實現。應用層和核心層都構建在基礎架構層之上。開發
基礎架構層包含了有 讀(readers)和 寫(writers )以及服務(services)。例若有針對服務使用, RetryTemplate
。基礎架構層的這些東西,這些可以被應用層開發(readers 和 writers,例如 ItemReader
和 ItemWriter
)和批量核心框架(例如,retry,這個是核心層本身的庫)所使用。get
簡單的來講,基礎架構層爲應用層和批量核心層提供了所須要的的基礎內容,是整個 Spring Batch 的基礎。咱們針對 Spring Batch 的開發絕大部分狀況是在應用層完成的。it
https://www.cwiki.us/display/SpringBatchZH/Spring+Batch+Architectureio