zoukankan      html  css  js  c++  java
  • SpringBatch的ItemWriterDemo

    跟着视频写的一个小Demo

    目录结构:

    MyWriter.class
    package com.practice.itemwriter;
    
    import org.springframework.batch.item.ItemWriter;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
    @Component("myWriter")
    public class MyWriter   implements ItemWriter<String>
    {
        @Override
        public void write(List<? extends String> items) throws Exception {
            System.out.println(items.size());
            for(String str:items){
                System.out.println(str);
            }
        }
    }
    ItemWriterDemo.class
    package com.practice.itemwriter;
    
    import org.springframework.batch.core.Job;
    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.batch.item.ItemReader;
    import org.springframework.batch.item.ItemWriter;
    import org.springframework.batch.item.support.ListItemReader;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Configuration
    public class ItemWriterDemo {
        @Autowired
        private JobBuilderFactory jobBuilderFactory;
    
        @Autowired
        private StepBuilderFactory stepBuilderFactory;
        @Autowired
        @Qualifier("myWriter")
        private  ItemWriter<String> myWriter;
        @Bean
        public Job itemWriterDemoJob(){
            return jobBuilderFactory.get("itemWriterDemoJob").start(itemWriterDemoStep()).build();
        }
        @Bean
        public Step itemWriterDemoStep() {
    
            return stepBuilderFactory.get("itemWriterDemoStep")
                    .<String,String>chunk(10).reader(myRead()).writer(myWriter).build();
        }
    
        public ItemReader<String> myRead() {
            List<String> items = new ArrayList<>();
            for(int i = 0;i<=50;i++){
                items.add("java"+i);
            }
            return new ListItemReader<String>(items);
        }
    }
    DemoApplication
    package com.practice.itemwriter;
    
    import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @EnableBatchProcessing
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
    }

    正常输出:

  • 相关阅读:
    centos7 安装mysql
    Nginx安装及配置详解
    nginx安装
    JSON Web Token
    优先队列
    小程序遮罩层禁止页面滚动(遮罩层内部可以滚动)
    H5中接入微信支付
    如何使用less预编译
    在methods中使用filter
    根据当前时间获取上一个月的时间
  • 原文地址:https://www.cnblogs.com/Syue/p/12506821.html
Copyright © 2011-2022 走看看