springboot多數據源自動切換

SpringBoot多數據源切換,先上配置文件:

1.主要pom依賴:

springboot多數據源自動切換

2.application.yml

springboot多數據源自動切換

springboot多數據源自動切換

3.configuration

springboot多數據源自動切換

springboot多數據源自動切換

4.數據源持有類

springboot多數據源自動切換

controller:

springboot多數據源自動切換

入口類:

springboot多數據源自動切換

說明一下實現思路:

springboot有提供AbstractRoutingDataSource#determineCurrentLookupKey抽象方法去指定數據源,我們要做的就是實現切換數據源的邏輯;通過AOP在調用數據庫之前切換數據源;

本來在切面內做了一個緩存,記錄上一次使用的數據源,如果這一次使用相同的就不用切換了,但是發現初始化數據連接才是消耗大的,後面切換數據源其實就是去指定用哪個數據庫連接而已,不再消耗資源了;

下面的代碼顯示了切換數據源時只是通過key去拿對應的dataSource,而相關的dataSource在第一次調用時就初始化一次就可以了;

springboot多數據源自動切換


分享到:


相關文章: