<br/>java
一、註解@EnableBatchProcessing :使用此註解執行批處理
<br/><br/>mysql
二、spring batch 的 依賴:spring
<dependency> <groupId> org.springframework.boot</groupId> <artifactId>spring-boot-start-batch</artifactId> </dependency>
<br/><br/>sql
三、建立Job
<br/><br/>數據庫
1.注入建立任務對象的對象ide
private JobBuilderFactory jobBuilderFactory;spring-boot
<br/>ui
2.注入建立Step 對象的對象url
private StepBuilderFactory stepBuilderFactory;spa
<br/>
3.建立任務對象
建立多個任務對象:
A. 第一種方法
@Bean public Job ****Job(){ // 指定任務執行什麼step return jobBuilderFactory.get("****Job") .start(step1()) .next(step2()) .next(step3()) .build(); }
<br/>
B. 第二種方法,根據 每一個step操做返回的不一樣狀態,進行斷定是否進入下一個step,或者進行其餘處理流程。:
@Bean public Job ****Job(){ // 指定任務執行什麼step return jobBuilderFactory.get("****Job") .start(step1()) .on("completed").to(step2()) .from(step2()).on("completed").to(step3()) // fail() stopAndRestart .from(step3()).end() .build(); }
<br/>
建立step對象:
@Bean public Step step1(){ return stepBuilderFactory.get("step1") .tasklet(new Tasklet() { @Override public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception { System.out.println("Hello Spring Batch"); return RepeatStatus.FINISHED; } }).build(); }
<br/>
四、將spring batch 數據庫,替換爲mysql 數據源
<br/>
A. 替換爲mysql數據庫須要添加的依賴
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
<br/>
B. 配置數據源
#配置spring batch job instance 等信息存放數據源 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test spring.datasource.username=root spring.datasource.password=123 #初始化spring batch job、step等信息存放的表,demo使用mysql #spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect #spring.batch.initialize-schema=always #是否啓動項目時候,自動執行job #spring.batch.job.enabled = false
<br/><br/><br/>