springboot 多数据源配置不生效遇到的坑及解决

编辑: admin 分类: java 发布时间: 2021-12-03 来源:互联网
目录
  • 多数据源配置不生效遇到的坑
    • 解决方案
  • 踩坑SpringBoot配置多数据源,循环引用问题
    • 解决办法

多数据源配置不生效遇到的坑

**
同步数据时遇到多个数据源切换的问题,配置了yml文件时候发现启动的时候不加载数据源的配置。
**
spring:
datasource:
db1:
driver-class-name:xxxxxxx
url:jdbc:xxxxxxx
username:root
password:111111
db2:
driver-class-name:xxxxxx
url:xxxxxx
username:root
password:111111

等等。。。。。。。。

每个配置都检查了,没有写错,对了好几遍。折腾了半天。。。。。。

解决方案

yml配置文件里格式不对齐,db1 db2 db3 要在同一个列上

在这里插入图片描述

编译器没有任何提示,多了一个空格或者不对齐都不会加载。

踩坑SpringBoot配置多数据源,循环引用问题

最近在使用SpringBoot配置AOP动态数据源,通过继承AbstractRoutingDataSource这个类来实现的,在使用的时候报了一个错误,如下

大概就是dynamicDataSource依赖dataSourceScxys, dataSourceScxys依赖DataSourceInitializerInvoker,而DataSourceInitializerInvoker又依赖dynamicDataSource,造成一个循环引用,在Spring初始化bean的时候就不知道该先初始化哪一个。

解决办法

在springboot启动的时候排除其自动配置类,如下

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

【文章来源:http://www.yidunidc.com/mg.html 原文提供 欢迎转载】