此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Batch 文档 5.2.2spring-doc.cadn.net.cn

配置步骤

尽管所需依赖项列表相对较短,但Step,它是一个 极其复杂的类,可能包含许多协作者。spring-doc.cadn.net.cn

使用 Java 配置时,您可以使用 Spring Batch 构建器,作为 以下示例显示:spring-doc.cadn.net.cn

Java 配置
/**
 * Note the JobRepository is typically autowired in and not needed to be explicitly
 * configured
 */
@Bean
public Job sampleJob(JobRepository jobRepository, Step sampleStep) {
    return new JobBuilder("sampleJob", jobRepository)
                .start(sampleStep)
                .build();
}

/**
 * Note the TransactionManager is typically autowired in and not needed to be explicitly
 * configured
 */
@Bean
public Step sampleStep(JobRepository jobRepository, (2)
		PlatformTransactionManager transactionManager) { (1)
	return new StepBuilder("sampleStep", jobRepository)
				.<String, String>chunk(10, transactionManager) (3)
				.reader(itemReader())
				.writer(itemWriter())
				.build();
}
1 transactionManager: Spring的PlatformTransactionManager开始并承诺 处理过程中的交易。
2 repository:特定于 Java 的名称JobRepository定期存储 这StepExecutionExecutionContext在处理期间(就在提交之前)。
3 chunk:依赖项的特定于 Java 的名称,指示这是 基于物料的步骤和交易之前要处理的物料数 承诺。
请注意repository默认为jobRepository(通过@EnableBatchProcessing) 和transactionManager默认为transactionManager(从应用程序上下文提供)。 此外,ItemProcessor是可选的,因为该项目可以是 直接从读者传递给写入器。

为了简化配置,您可以使用 Spring Batch XML 命名空间,作为 以下示例显示:spring-doc.cadn.net.cn

XML 配置
<job id="sampleJob" job-repository="jobRepository"> (2)
    <step id="step1">
        <tasklet transaction-manager="transactionManager"> (1)
            <chunk reader="itemReader" writer="itemWriter" commit-interval="10"/> (3)
        </tasklet>
    </step>
</job>
1 transaction-manager: Spring的PlatformTransactionManager开始并承诺 处理过程中的交易。
2 job-repository:特定于 XML 的名称JobRepository定期存储 这StepExecutionExecutionContext在处理期间(就在提交之前)。为 一个串联<step/>(在<job/>),它是<job/>元素。对于独立<step/>,则将其定义为<tasklet/>.
3 commit-interval:要处理的项目数的 XML 专用名称 在提交事务之前。
请注意job-repository默认为jobRepositorytransaction-manager默认为transactionManager.此外,ItemProcessor是 可选,因为该项可以直接从读取器传递到写入器。

前面的配置包括创建面向项的唯一依赖项 步:spring-doc.cadn.net.cn