java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBatch适配器

深入解析SpringBatch适配器

作者:境里婆娑

Spring Batch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使得已经使用 Spring 框架的开发者或者企业更容易访问和利用企业服务,本文给大家介绍SpringBatch适配器的相关知识,感兴趣的朋友一起看看吧

一、SpringBatch适配器

1、SpringBatch分别有读(reader)、处理(processor)、写(writer)、tasklet处理器。

2、SpringBatch之所以给我们开这么多适配器原因是让我们把既有的服务作为参数传到适配器里面,避免开发重复代码。不得不说SpringBatch开发人员想的真周到。

3、SpringBatch适配器都有三个公共的方法:

二、SpringBatch适配器实战(Tasklet举例)

演示MethodInvokingTaskletAdapter适配器

1、创建Job配置TaskletAdapterConfiguration

@Configuration
@EnableBatchProcessing
public class TaskletAdapterConfiguration {
 
    @Autowired
    private JobBuilderFactory jobBuilderFactory;
 
    @Autowired
    private StepBuilderFactory stepBuilderFactory;
 
    @Autowired
    public PeopleService peopleService;
 
    @Bean
    public Job taskletAdapterJob() {
        return jobBuilderFactory.get("taskletAdapterJob")
                .start(taskletAdapterStep())
                .build();
    }
 
    @Bean
    public Step taskletAdapterStep() {
        return stepBuilderFactory.get("taskletAdapterStep")
                .tasklet(methodInvokingTaskletAdapter())
                .build();
    }
 
    @Bean
    public MethodInvokingTaskletAdapter methodInvokingTaskletAdapter() {
        MethodInvokingTaskletAdapter adapter = new MethodInvokingTaskletAdapter();
        adapter.setTargetObject(peopleService);
        adapter.setTargetMethod("upperCase");
        adapter.setArguments(new Object[]{new People("lee","10","北京","1233")});
        return adapter;
    }
 
}

2、Tasklet适配器执行的目标类和方法

@Service
public class PeopleService {
 
    public People upperCase(People people) {
         People p = new People();
         p.setName(people.getName().toUpperCase(Locale.ROOT));
         p.setAdress(people.getAdress().toUpperCase(Locale.ROOT));
         p.setAge(people.getAge());
         p.setIdCard(people.getIdCard());
        System.out.println("p:" + p);
         return p;
    }
}

3、适配器执行目标方法一定要先看看有没有参数,如果有参数一定要把此方法(setArguments)设置上,否则会报"No matching arguments found for method"异常

4、执行结果如图所示:

到此这篇关于SpringBatch适配器详解的文章就介绍到这了,更多相关SpringBatch适配器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文