SpringBatch 是一个大数据量的并行处理框架。通常用于数据的离线迁移,和数据处理,⽀持事务、并发、流程、监控、纵向和横向扩展,提供统⼀的接⼝管理和任务管理;SpringBatch是SpringSource和埃森哲为了统一业界并行处理标准为广大开发者提供方便开发的一套框架。
官方地址:github.com/spring-projects/spring-batch
SpringBatch 本身提供了重试,异常处理,跳过,重启、任务处理统计,资源管理等特性,这些特性开发者看重他的主要原因;
SpringBatch 是一个轻量级的批处理框架;
SpringBatch 结构分层,业务与处理策略、结构分离;
任务的运行的实例状态,执行数据,参数都会落地到数据库;
一个 Batch
(批处理)过程由一个 Job
(作业)组成。这个实体封装了整个批处理过程。
一个 Job
(作业)可以由一个或多个 Step
(步骤)组成。在大多数情况下,一个步骤将读取数据(通过 ItemReader
),处理数据(使用 ItemProcessor
),然后写入数据(通过 ItemWriter
)。
JobLauncher
处理启动一个 Job
(作业)。
最后, JobRepository
存储关于配置和执行的 Job
(作业)的元数据。
在 https://start.spring.io/ 这个页面里,直接选择依赖项是spring batch
点击下面的generate 会自动生成项目代码。下载下来,然后进行具体业务逻辑的编写 。
生成的文件的目录结构如下
pom.xml: Maven项目中的xml配置文件 ,
使用spring boot 是为了让项目可以直接运行,在默认生成的xxxApplication类中有一个main方法 ,使用
SpringApplication.run来启动应用 程序 。
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
参考:
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==∣=2247487812&idx=2&sn=48569f97aeb0e687980f99bed4d798a3&chksm=9bd0bcdcaca735ca2f8a509c8265fd074a53bdacb8d65578caae660fc8d592ead6db95ead8d2&scene=27#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==∣=2247483951&idx=1&sn=a09ee84ba1d0452787382436b04b8979&chksm=9bd0afb7aca726a171f4877764af0aaf65ac1470c26a7cc741a102c1b784a51d2aae3d7adfd5&scene=27#wechat_redirect