Spring Boot批处理教程

902 阅读4分钟

Spring Boot Batch

Spring Boot批处理简介

Spring Boot批处理是用来执行作业的;Spring批是一个负责执行作业或处理作业的框架。这个作业可以由单个或多个步骤组成,并自行完成大部分的重载任务。为了使用它,我们可以在类上使用spring boot注解;同时,我们需要添加依赖关系,以便在开发时使用它。Spring batch为我们提供了内置的功能,可以用来处理企业应用中的大量记录;同时,它还为我们提供了各种功能,如声明式IO、事务管理等。

语法。

正如我们所知,spring batch是用来处理作业的;为此,我们必须对一些需要的代码进行配置。

@Configuration @EnableBatchProcessing public class DemoBatchConfiguration { // logic goes here ..// }

正如你在上面的语法中所看到的,我们使用了@EnableBatchProcessing来启用我们应用程序中的spring batch;我们使用了@Configuration来配置它。这里我们将讨论@EnableBatchProcessing注解的内部细节,以及需要哪些其他配置来使作业处理在Spring Boot中使用spring batch。

批处理如何在Spring Boot中工作?

我们已经知道,spring batch是一个轻量级的框架,它负责并使我们能够开发对执行任何企业应用程序的日常操作非常重要的应用程序。使用spring batch,我们可以使用它的内置功能,这有助于处理大型数据和其他更多的功能。

下面是spring batch的一些特点,如下。

  • 事务管理
  • 基于网络的管理界面
  • 声明性I/O
  • 启动/停止/重新启动
  • 基于分块的处理
  • 重试/跳转

以下是将spring batch配置到应用程序的必要步骤。

1.首先,我们必须从spring initializer下载spring boot项目压缩包,在那里提到所需的文件,并将该项目导入我们想要的编辑器。

2.第二,我们必须在pom或gradle文件中添加依赖关系,无论我们使用哪种构建工具;如果我们不添加这个,那么在访问spring包的注释时就会出现错误。

下面我们提到了所需的依赖关系,供参考。

例子。

代码。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-batch</artifactId> <version>2.4.0</version> </dependency>

3.在pom.xml中添加了所需的依赖后,现在我们必须在我们的应用程序中添加关于批处理的配置。

下面我们提到了我们在使用它时想要的类参考。

例子。

代码。

@Configuration @EnableBatchProcessing public class DemoBatchConfiguration { // logic goes here ..// }

在上面这个类中,我们使用@EnableBatchProcessing来为我们的应用程序启用这个功能;现在,我们将看看这个@EnableBatchProcessing注解对我们有什么作用。

  • **@EnableBatchProcessing:**首先,它在我们的应用程序中启用了批处理;我们正在使用这个@Configuration注解。另外,通过使用这个注解,它在内部增加了许多豆子,负责为我们提供许多作业,这些作业可以用来为作业提供支持,也可能需要大量的自定义代码,它只需关注业务逻辑。另外,这个注解添加了工厂类,这是需要的。

4.4.在这里,我们有一个读者、作家和处理器()。所有这些Bean都需要添加到DemoBatchConfiguration类中来使用它们。

例子。

代码。

@Bean public FlatFileItemReader<Person> reader() { // logic here .. // } @Bean public PersonItemProcessor processor() { // logic here .. // } @Bean public JdbcBatchItemWriter<Person> writer(DataSource dataSource) { // logic here .. // }

这段代码需要添加到 "DemoBatchConfiguration "中,以配置阅读器、写入器和处理器。

5.我们试图将数据存储在h3数据库中,这意味着一旦服务器停止,数据就会丢失。我们没有通过使用h2数据库将数据保存在内存中;如果你想看到数据并将它们存储在一个特定的文件中,那么你可以按照以下链接进行参考。

www.baeldung.com/spring-boot…

6.6.spring boot的主类将是相同的;不会有很多变化或配置。

例子。

代码。

import com.test.Traders.entity.Student; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication public class TradersApplication { public static void main(String[] args) { SpringApplication.run(TradersApplication.class, args); System.out.println("Application running in the dev mode !!"); } }

输出。

Spring Boot Batch 1

使用spring batch进行处理时需要记住的几点。

  • Spring batch是一个轻量级的框架,用于处理作业。
  • 我们可以通过在pom.xml或gradle文件中添加所需的依赖项来开始使用spring batch。
  • 在实际使用中,我们可以将数据从CSV导入到excel文件,这可能是一个繁重的过程,但通过使用spring batch,我们可以使用其内部函数来避免繁重的代码。
  • 我们使用了@ EnableBatchProcessing注解;这个注解将用于我们想要配置所有与spring batch相关的东西的类中,如阅读器、写入器和处理器等。

总结

通过它的使用,我们可以很容易地利用批处理;同时,我们可以很容易地处理大量的数据;我们不需要编写自定义代码;我们可以只关注业务逻辑。我们已经讨论过的一些功能的使用也可以提高企业应用程序的整体性能。