该配置项的目的,就是如果当前项目中存在同名的bean,后定义的bean会覆盖先定义的。
报错信息表明,在声明 org.apache.shardingsphere.shardingjdbc.spring.boot 包下的
SpringBootConfiguration中的dataSource这个bean时出错, 原因是有一个同名的 dataSource 的bean在com.alibaba.druid.spring.boot.autoconfigure包下的DruidDataSourceAutoConfigure类加载时已经声明了。
而我们需要用到的是 shardingjdbc包下的dataSource,所以我们需要配置上述属性,让后加载的覆盖先加载的。
解决办法
在application.yml中增加配置
spring:main:allow-bean-definition-overriding: true