找到了问题。使用
@EnableAutoConfigurationSpring
Boot中的注释时,它将调用
org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration类,该类将从’schema-
mysql.sql’文件初始化数据库。
在schema-mysql.sql文件内部,有一些代码可以重置批处理元表的序列ID,这就是为什么我遇到重复键错误的原因:
INSERT INTO BATCH_STEP_EXECUTION_SEQ values(0);INSERT INTO BATCH_JOB_EXECUTION_SEQ values(0);INSERT INTO BATCH_JOB_SEQ values(0);
解决方法是分别构建Spring Batch表,然后将
@EnableAutoConfiguration注释更改为:
@EnableAutoConfiguration(exclude={BatchAutoConfiguration.class})因此,在应用程序启动时,它将不会尝试初始化Spring Batch表。
要为其他组件排除或自定义Spring
Boot的自动配置,您可以在此处找到一些文档:http :
//projects.spring.io/spring-boot/docs/spring-boot-
autoconfigure/README.html
- BatchAutoConfiguration代码:[https](https://github.com/spring-projects/spring-
- boot/blob/master/spring-boot-
- autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java)
- //github.com/spring-projects/spring-boot/blob/master/spring-boot-
autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java



