目录
package com.springbatch._09item_reader;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* SpringBatchDemo项目启动类
*
* @Package: PACKAGE_NAME
* @ClassName: com.springbatch._01helloworld.SpringBatchConfig
* @author: zq
* @since: 2020/5/22 20:31
* @version: 1.0
* @Copyright: 2020 zq. All rights reserved.
*/
@SpringBootApplication
@EnableBatchProcessing
public class SpringBatchConfig {
public static void main(String[] args) {
SpringApplication.run(SpringBatchConfig.class, args);
}
}
package com.springbatch._09item_reader;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobParameter;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Configuration
public class ItemReaderJobConfig {
//创建 创建job的对象
@Autowired
private JobBuilderFactory jobBuilderFactory;
//创建 创建step的对象
@Autowired
private StepBuilderFactory stepBuilderFactory;
Map<String, JobParameter> parameterMap;
@Bean
public Job itemReaderJob() {
return jobBuilderFactory.get("itemReaderJob-01")
.start(itemReaderJobStep())
.build();
}
@Bean
public Step itemReaderJobStep() {
return stepBuilderFactory.get("itemReaderJobStep-01")
.<String, String>chunk(2)
.reader(myReaderDemo())
.writer(list -> {
System.out.println("write=================");
for (String item : list) {
System.out.println(item + "----");
}
})
.build();
}
@Bean
public MyItemReader myReaderDemo() {
List<String> list = Arrays.asList("1q", "az", "2w", "sx");
return new MyItemReader(list);
}
}
reader
package com.springbatch._09item_reader;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.NonTransientResourceException;
import org.springframework.batch.item.ParseException;
import org.springframework.batch.item.UnexpectedInputException;
import java.util.Iterator;
import java.util.List;
/**
* @Package: com.springbatch._09item_reader
* @ClassName: MyItemReader
* @author: zq
* @since: 2020/6/21 21:10
* @version: 1.0
* @Copyright: 2020 zq. All rights reserved.
*/
public class MyItemReader implements ItemReader<String> {
private final Iterator<String> iterater;
public MyItemReader(List<String> list) {
this.iterater = list.iterator();
}
@Override
public String read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
if (iterater.hasNext()) {
return iterater.next();
} else {
return null;
}
}
}