springboot 多數(shù)據(jù)源配置不生效遇到的坑及解決
多數(shù)據(jù)源配置不生效遇到的坑
** 同步數(shù)據(jù)時(shí)遇到多個(gè)數(shù)據(jù)源切換的問題,配置了yml文件時(shí)候發(fā)現(xiàn)啟動(dòng)的時(shí)候不加載數(shù)據(jù)源的配置。 ** 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
等等。。。。。。。。
每個(gè)配置都檢查了,沒有寫錯(cuò),對了好幾遍。折騰了半天。。。。。。
解決方案
yml配置文件里格式不對齊,db1 db2 db3 要在同一個(gè)列上

編譯器沒有任何提示,多了一個(gè)空格或者不對齊都不會(huì)加載。
踩坑SpringBoot配置多數(shù)據(jù)源,循環(huán)引用問題
最近在使用SpringBoot配置AOP動(dòng)態(tài)數(shù)據(jù)源,通過繼承AbstractRoutingDataSource這個(gè)類來實(shí)現(xiàn)的,在使用的時(shí)候報(bào)了一個(gè)錯(cuò)誤,如下

大概就是dynamicDataSource依賴dataSourceScxys, dataSourceScxys依賴DataSourceInitializerInvoker,而DataSourceInitializerInvoker又依賴dynamicDataSource,造成一個(gè)循環(huán)引用,在Spring初始化bean的時(shí)候就不知道該先初始化哪一個(gè)。
解決辦法
在springboot啟動(dòng)的時(shí)候排除其自動(dòng)配置類,如下

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringRunner和SpringJUnit4ClassRunner的區(qū)別及說明
這篇文章主要介紹了SpringRunner和SpringJUnit4ClassRunner的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Java關(guān)鍵字instanceof的兩種用法實(shí)例
這篇文章主要介紹了Java關(guān)鍵字instanceof的兩種用法實(shí)例,本文給出了instanceof關(guān)鍵字用于判斷一個(gè)引用類型變量所指向的對象是否是一個(gè)類(或接口、抽象類、父類)及用于數(shù)組比較,需要的朋友可以參考下2015-03-03
Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks)
這篇文章主要介紹了Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
關(guān)于RabbitMQ的Channel默認(rèn)線程
這篇文章主要介紹了關(guān)于RabbitMQ的Channel默認(rèn)線程,通過jvm工具觀察rabbitmq的線程使用情況,發(fā)現(xiàn)生產(chǎn)者每發(fā)一條消息,消費(fèi)者這邊就會(huì)創(chuàng)建一條線程,言下之意,一個(gè)channel當(dāng)消息來到時(shí)就會(huì)異步處理這些消息,需要的朋友可以參考下2023-09-09
springboot集成Feign的實(shí)現(xiàn)示例
Feign是聲明式HTTP客戶端,用于簡化微服務(wù)之間的REST調(diào)用,本文就來介紹一下springboot集成Feign的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
在springboot中如何集成clickhouse進(jìn)行讀寫操作
本文介紹了在Spring Boot中集成ClickHouse的步驟,包括引入依賴、配置數(shù)據(jù)源、編寫實(shí)體類和Mapper類進(jìn)行CRUD操作,特別提到批量插入時(shí)需要在SQL語句中添加`FORMAT`以避免錯(cuò)誤,在實(shí)際應(yīng)用中,與MySQL的操作類似,只需將ClickHouse當(dāng)作MySQL使用2024-11-11

