此版本仍在开发中,尚未被视为稳定版本。如需最新稳定版本,请使用 Spring Boot 4.0.4!spring-doc.cadn.net.cn

Spring Batch

Spring Boot 为使用 Spring Batch 提供了多种便利,包括在启动时运行作业。spring-doc.cadn.net.cn

在构建批处理应用程序时,可以自动配置以下存储:spring-doc.cadn.net.cn

每个存储库都有特定的其他设置。 例如,可以自定义JDBC存储的表前缀,如下例所示:spring-doc.cadn.net.cn

spring.batch.jdbc.table-prefix=CUSTOM_
spring:
  batch:
    jdbc:
      table-prefix: "CUSTOM_"

在使用 MongoDB 存储时,你可以启用 Spring Batch 作业存储库模式(集合和索引)的初始化:spring-doc.cadn.net.cn

spring.batch.data.mongodb.schema.initialize=true
spring:
  batch:
    data:
      mongodb:
        schema:
          initialize: true

要禁用 Spring Boot 的自动配置并完全控制 Spring Batch 的配置,请将 @EnableBatchProcessing 添加到您的任意一个 @Configuration 类中,或扩展 DefaultBatchConfiguration。 这将导致自动配置被禁用,包括 Spring Batch 数据库模式(JDBC 或 MongoDB)的初始化。 然后可以使用 @Enable*JobRepository 注解的属性来配置 Spring Batch,而不是之前描述的配置属性。spring-doc.cadn.net.cn

要了解有关手动配置Spring Batch的更多信息,请参阅以下内容的API文档:spring-doc.cadn.net.cn

有关Spring Batch的更多信息,请参阅 Spring Batch项目页面spring-doc.cadn.net.cn

在启动时运行 Spring Batch 作业

当Spring Boot自动配置Spring Batch时,如果在应用上下文中找到一个 Job bean,它会在启动时执行(参见 JobLauncherApplicationRunner 了解详细信息)。 如果找到多个 Job beans,则必须使用 spring.batch.job.name 指定要执行的作业。spring-doc.cadn.net.cn

您可以禁用应用程序上下文中找到的 Job,如下面的例子所示:spring-doc.cadn.net.cn

spring.batch.job.enabled=false
spring:
  batch:
    job:
      enabled: false