spring batch ->ItemReader

2020-04-27  本文已影响0人  刘小刀tina
@Configuration
@EnableBatchProcessing
public class Itemreader {

    @Autowired
    private JobBuilderFactory jobBuilderFactory ;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    /**
     * 创建job
     * @return
     */
    @Bean(value = "itemreaderJob61")
    public Job itemreaderJob6(){
        return jobBuilderFactory.get("itemreaderJob61")
                .start(itemreaderStep91())
                .build();
    }

    @Bean(value = "itemreaderStep91")
    public Step itemreaderStep91() {
        return stepBuilderFactory.get("itemreaderStep91")
                .<String,String>chunk(2)
                .reader(reader())
                .writer(list -> {
                   for (Object str:list){
                       System.out.println("str的值为"+ str.toString());
                   }
                })
                .build();
    }

    /**
     * 读数据
     * @return
     */
    @Bean
    public MyReader reader() {
        List<String> list = Arrays.asList("哟哟","bob","哟哟","亚曼","弟弟","利利");
        return new MyReader(list);
    }


}

//创建一个类
class MyReader implements ItemReader{

    private Iterator<String> iterator;

    public MyReader() {
    }

    public MyReader(List<String> list) {
        this.iterator = list.iterator();
    }

    @Override
    public String  read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {

        if(iterator.hasNext()){
            return iterator.next();
        }
       return null;
    }


}

上一篇 下一篇

猜你喜欢

热点阅读