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啟動的時候排除其自動配置類,如下
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Springboot動態切換數據源的具體實現與原理分析
- springboot中mybatis多數據源動態切換實現
- MybatisPlus的IPage失效的問題解決方案
- Spring\SpringBoot配置連接數據庫的方法
- 解決springboot利用ConfigurationProperties註解配置數據源無法讀取配置信息問題