如何使用SpringBoot和SpringBatch

  介绍

如何使用SpringBoot和SpringBatch ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>什么是Spring Batch

Spring Batch是一个轻量级的,完善的批处理框架,旨在帮助企业建立健壮,高效的批处理应用.Spring批是春天的一个子项目,使用Java语言并基于春天框架为基础开发,使的已经使用弹簧框架的开发者或者企业更容易访问和利用企业服务。

Spring Batch提供了大量可重用的组件,包括了日志,追踪,事务,任务作业统计,任务重启,跳过,重复,资源管理。对于大数据量和高性能的批处理任务,Spring Batch同样提供了高级功能和特性来支持,比如分区功能,远程功能。总之,通过Spring Batch能够支持简单的,复杂的和大数据量的批处理作业。

<强> Spring Batch使用

我们首先配置Spring Batch在春天中引导的使用,数据库用的是mysql, pom文件如下,因为弹簧引导中的Spring Batch包含hsqsldb所以我们将其去除

& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-batch   ,,,,,& lt; exclusions>, & lt; !——,注意这里——比;   ,,,,,,,& lt; exclusion>   ,,,,,,,,,& lt; groupId> org.hsqldb   ,,,,,,,,,& lt; artifactId> hsqldb   ,,,,,,,& lt;/exclusion>   ,,,,,& lt;/exclusions>   ,,,& lt;/dependency>   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-jdbc   ,,,& lt;/dependency>   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-web   ,,,& lt;/dependency>   & lt; dependency>   ,,,& lt; groupId> org.hibernate   ,,,& lt; artifactId> hibernate-validator   & lt;才能/dependency>   & lt;才能dependency>   ,,,& lt; groupId> mysql   ,,,& lt; artifactId> mysql-connector-java   ,,,& lt; version> 5.1.21   & lt;才能/dependency>   & lt;才能dependency>   ,,,& lt; groupId> org.springframework.boot   ,,,& lt; artifactId> spring-boot-starter-test   ,,,& lt; scope> test   & lt;才能/dependency>

配置好我们需要的实体类。页面就不展示了。

如果有数据校验添加的话那么我们需要配置自定义的检验器。若果没有课略过该步骤

public  class  CsvBeanValidator, implements  Validator InitializingBean  {   private 才能;javax.validation.Validator ,验证器;   @Override才能   public 才能;void 验证(T 价值),throws  ValidationException  {   ,,,Set, {   @Override才能   public 才能;Person 过程(Person 项目),throws  ValidationException  {   ,,,,super.process(项),,//,在这里启动,然后才会调用我们自定义的校验器,否则不能通过,。   ,,,,if  (item.getNation () .equals(“汉族“)){   ,,,,,,item.setName (“01”);   ,,,,其他}{   ,,,,,,item.setNation (“02“);   ,,,,}   ,,,,return 项目;   ,,}   }

进行工作任务监听自定义类实现JobExecutionListener即可

long 开始时间;   ,long  endTime;   ,@Override   ,public  void  beforeJob (JobExecution  jobExecution), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何使用SpringBoot和SpringBatch