SpringBoot多數據源切換,先上配置文件:
1.主要pom依賴:
![springboot多數據源自動切換](http://p2.ttnews.xyz/loading.gif)
2.application.yml
![springboot多數據源自動切換](http://p2.ttnews.xyz/loading.gif)
3.configuration
4.數據源持有類
controller:
入口類:
說明一下實現思路:
springboot有提供AbstractRoutingDataSource#determineCurrentLookupKey抽象方法去指定數據源,我們要做的就是實現切換數據源的邏輯;通過AOP在調用數據庫之前切換數據源;
本來在切面內做了一個緩存,記錄上一次使用的數據源,如果這一次使用相同的就不用切換了,但是發現初始化數據連接才是消耗大的,後面切換數據源其實就是去指定用哪個數據庫連接而已,不再消耗資源了;
下面的代碼顯示了切換數據源時只是通過key去拿對應的dataSource,而相關的dataSource在第一次調用時就初始化一次就可以了;
閱讀更多 程序員界的彭于晏 的文章