Spring 框架入门教程
1. 1. Spring 框架 2. 2. Spring 5 3. 3. Spring WebFlux 4. 4. 先介绍一下 Spring 5. 5. 什么是 Spring 依赖注入 6. 6. 什么是 Spring IoC 容器 和 Bean 7. 7. Spring Bean 的生命周期 8. 8. Spring REST 开发 9. 9. Spring REST XML 10. 10. Spring RestTemplate 开发 11. 11. Spring AOP 切面编程 12. 12. Spring AOP 方法调优 13. 13. Spring 注解详解 14. 14. Spring 核心注解之 @Autowired 15. 15. Spring 核心注解之 @RequestMapping 16. 16. Spring MVC 开发样例 17. 17. Spring MVC 开发指南 18. 18. Spring MVC 异常处理机制 19. 19. Spring MVC Validator 20. 20. Spring MVC 拦截器 21. 21. Spring MVC 文件上传 22. 22. Spring MVC 国际化(i18n) 23. 23. Spring MVC Hibernate MqSQL 24. 24. Spring ORM 25. 25. Spring ORM JPA 26. 26. Spring Data JPA 27. 27. Spring 事务管理 28. 28. 常用的 Spring JdbcTemplate 29. 29. Spring Security 简介 30. 30. Spring Security 教程 31. 31. Spring Security UserDetailsService 32. 32. Spring MVC 登录注销简单案例 33. 33. Spring Security Roles 34. 34. Spring Boot Tutorial 35. 35. Spring Boot Components 36. 36. Spring Boot CLI Hello World 37. 37. Spring Boot Initilizr Web 38. 38. Spring Boot Initilizr IDE 39. 39. Spring Boot Initilizr CLI 40. 40. Spring Boot Initilizr Tools 41. 41. Spring Boot MongoDB 42. 42. Spring Boot Redis Cache 43. 43. Spring Boot 常见面试问题 44. 44. Spring Batch 45. 45. Spring Batch 批处理示例 46. 46. Spring AMQP 47. 47. Spring RabbitMQ 48. 48. Spring AMQP RabbitMQ 49. 49. Apache ActiveMQ 安装与启动 50. 50. Spring ActiveMQ 教程 51. 51. Spring ActiveMQ 示例 52. 52. Spring JDBC 53. 53. Spring DataSource JNDI 54. 54. Spring Hibernate 55. 55. Spring Primefaces JPA 56. 56. Spring Primefaces MongoDB 57. 57. Spring Primefaces Hibernate 58. 58. SpringRoo Primefaces Hibernate 59. 59. Spring JSF 60. 60. Spring JDF Hibernate 61. 61. Spring Data MongoDB 62. 62. Spring 常见面试问题

44. Spring Batch

随着科技的存在,世界正在飞速发展。企业和企业希望更快、更准确地执行任务。这些数据的处理包括每天生成报告,在不需要人工干预的情况下处理大量数据。springbatch是大多数这些任务的解决方案。它支持以事务方式处理批量数据,并以精确和快速的方式执行日常活动。

Spring批处理

  • Spring批处理基于spring框架而且非常轻便。springbatch的核心概念顾名思义就是批量处理数据。
  • 它基于OOPS概念并使用基于POJO的开发。
  • springbatch使用优化和分区技术为大容量和高性能的批处理作业提供高级服务和特性。它具有很高的可扩展性,可用于处理大量数据。
  • 它不是调度程序,应该与调度程序一起使用。

为什么我们需要Spring批处理?

让我们回到历史的角度来研究Spring批次的需求。

虽然开源软件项目和开源社区主要集中在基于web和基于消息传递的架构框架上,但考虑到企业内部每天处理此类处理的持续需求,可重用架构框架在满足基于Java的批处理需求方面处于次要地位。

由于缺乏一个标准的、可伸缩的和可重用的批处理体系结构,导致许多公司开发了许多内部解决方案。

春源埃森哲合作创建更标准和可重用的东西。SpringSource拥有实现批处理体系结构的成熟技术经验,其深厚的技术经验和spring久经考验的编程模型共同构成了一个强大的体系结构,可以创建高质量、与市场相关的软件,旨在填补企业Java的一个重要空白。

Accenture将以前专有的批处理体系结构框架贡献给Spring批处理项目以及支持团队、增强功能和未来路线图。

Spring批量使用

批处理程序从数据库、文件或队列中读取大量记录,根据业务需要处理数据,然后以所需的形式写回数据。

springbatch自动化了这个基本的批处理迭代,提供了将类似事务作为一个集合处理的能力,所有这些都可以在离线环境中完成,而无需任何用户交互。

批处理作业是大多数IT项目的一部分,springbatch是唯一一个提供健壮的企业解决方案的开源框架。

让我们看看springbatch在业务和技术方面的一些实时用法。

Spring批处理业务用例

  1. 在一个月底,当一家公司必须把工资汇入其雇员各自的帐户时。
  2. 月末工资单的处理是可以使用Spring批处理的时候。
  3. 发送大众传播电子邮件。
  4. 用于生成每日、每周或每月的自动报告。
  5. 无需人工干预即可自动执行业务流程。

Spring批处理技术用例

  1. 用于在指定频率下自动执行测试。
  2. 这可以用于在预定义的频率上执行自动数据库更新。
  3. 它可以与队列系统一起使用,以处理大量事务而不会出现任何故障。
  4. springbatch可以与api一起用于执行诸如服务器或应用程序的健康检查、负载测试的虚拟数据生成等任务。

Spring批处理体系结构

下图显示了springbatch的技术架构。

  1. 应用:包含开发人员根据业务需要编写的所有批处理作业和代码。
  2. 批式堆芯:它包含运行批处理作业所需的运行时类。JobLauncher、Job和Step实现等类是批处理核心的一部分。
  3. 编写器和服务本身包含由开发人员使用的批处理框架和服务。课程是ItemReader and ItemWriter. It also contains services to retry read and write.

Spring批处理

下面显示了一个常规的spring批处理工作流。

  1. 在显示的工作流中,使用Spring批处理的一部分reader从数据库中读取数据。
  2. 然后将数据传递给处理器,根据业务需求对数据进行处理。
  3. 处理后的数据(现在是修改的数据)被传递给写入程序,编写器将数据写回数据库。
  4. 数据源可以是数据库、文件、队列等。

Spring批量优势

让我们看看使用Spring批处理的优点。

  • 开发人员可以集中精力实现业务逻辑,框架将负责迭代。
  • 由于它是一个分层的体系结构,不同层之间的解耦很容易。
  • 作为一个通用的应用程序,你可以在整个业务实现中使用通用逻辑。
  • 它在JAR级别提供了基础设施和应用程序之间的分离,从而实现了简单和可伸缩的部署。

以上是对Spring Batch的快速介绍。

请到Spring批处理示例学习如何在应用程序中实现springbatch。

参考文献:项目官方页面