Spring Boot 2.7迁移至3.x报错:Cannot resolve symbol DefaultBatchConfigurer
Spring Boot 3.x迁移:解决「Cannot resolve symbol DefaultBatchConfigurer」错误
问题根源
Spring Boot 3.x配套的Spring Batch 5.x版本,对DefaultBatchConfigurer类的包路径做了调整:原包org.springframework.batch.core.configuration.annotation改为org.springframework.batch.core.configuration.support,同时你代码中的@override注解存在大小写错误,这也是导致问题的次要原因。
修复方案
修正导入路径
将类的import语句替换为正确的包路径:import org.springframework.batch.core.configuration.support.DefaultBatchConfigurer;修正方法重写注解与代码
确保@Override注解首字母大写,方法签名与父类完全匹配,修正后的完整代码示例:import org.springframework.batch.core.configuration.support.DefaultBatchConfigurer; import javax.sql.DataSource; public class BatchConfiguration extends DefaultBatchConfigurer { @Override public void setDataSource(DataSource dataSource) { // 此处保留你的原有逻辑,比如不调用父类方法以避免初始化数据源触发SQL异常 } }可选优化(按需使用)
若你的核心需求是避免Job创建时触发SQL异常,除了重写setDataSource,还可以通过配置文件添加以下配置,禁用Spring Batch的自动Schema初始化:spring.batch.jdbc.initialize-schema=never
内容的提问来源于stack exchange,提问作者user2949241
相关产品推荐
相关产品推荐

