springboot 多数据源配置不生效遇到的坑及解决
作者:bezalellee
这篇文章主要介绍了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启动的时候排除其自动配置类,如下
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。