You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Spring Batch中JobBuilderFactory与StepBuilderFactory的弃用警告及报错

解决Spring Batch 5.x弃用警告与依赖注入错误

一、处理JobBuilderFactory/StepBuilderFactory弃用警告

Spring Batch 5.0及以上版本中,JobBuilderFactory和StepBuilderFactory已被标记为弃用,官方推荐直接通过JobRepository和PlatformTransactionManager构建Job与Step,替代方案如下:

修改代码示例

// 替换原工厂类注入
@Autowired
private JobRepository jobRepository;

@Autowired
private PlatformTransactionManager transactionManager;

@Bean
public Step step1() {
    return new StepBuilder("csv-step", jobRepository)
            .<MSTabcNEUser, MSTabcNEUser>chunk(10, transactionManager)
            .reader(reader())
            .processor(processor())
            .writer(writer())
            .taskExecutor(taskExecutor())
            .build();
}

@Bean
public Job runJob() {
    return new JobBuilder("MSTabcNEUser", jobRepository)
            .flow(step1())
            .end()
            .build();
}

核心变更:

  • 移除JobBuilderFactory和StepBuilderFactory的依赖注入
  • 使用StepBuilder和JobBuilder的构造方法,传入jobRepository和transactionManager完成构建

二、解决JdbcBatchItemWriter依赖缺失错误

错误提示No qualifying bean of type 'org.springframework.batch.item.database.JdbcBatchItemWriter<MSTAuraQuanticNEUser>' available,本质是Spring容器中不存在符合要求的Writer Bean,解决步骤:

  1. 将writer()方法声明为Spring Bean:给writer()添加@Bean注解,确保Spring能扫描并管理该实例
  2. 匹配泛型与返回类型:确保方法返回类型为JdbcBatchItemWriter<MSTAuraQuanticNEUser>,与实体类泛型一致

示例Writer Bean配置

@Bean
public JdbcBatchItemWriter<MSTAuraQuanticNEUser> writer(DataSource dataSource) {
    JdbcBatchItemWriter<MSTAuraQuanticNEUser> writer = new JdbcBatchItemWriter<>();
    // 使用实体类属性自动映射SQL参数
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<>());
    // 替换为你的实际插入SQL语句
    writer.setSql("INSERT INTO mst_aura_quantic_ne_user (user_id, user_name) VALUES (:userId, :userName)");
    writer.setDataSource(dataSource);
    return writer;
}

额外注意:如果你的reader()和processor()方法未声明为@Bean,也需要添加该注解,保证Step能正常注入这些依赖。

内容的提问来源于stack exchange,提问作者Kumar Sourav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:15:41