龙空技术网

springboot多数据源自动切换

程序员界的彭于晏 9250

前言:

此刻各位老铁们对“springboot多数据源动态切换”大概比较注意,朋友们都想要学习一些“springboot多数据源动态切换”的相关文章。那么小编同时在网络上汇集了一些对于“springboot多数据源动态切换””的相关内容,希望咱们能喜欢,同学们一起来学习一下吧!

SpringBoot多数据源切换,先上配置文件:

1.主要pom依赖:

2.application.yml

3.configuration

4.数据源持有类

controller:

入口类:

说明一下实现思路:

springboot有提供AbstractRoutingDataSource#determineCurrentLookupKey抽象方法去指定数据源,我们要做的就是实现切换数据源的逻辑;通过AOP在调用数据库之前切换数据源;

本来在切面内做了一个缓存,记录上一次使用的数据源,如果这一次使用相同的就不用切换了,但是发现初始化数据连接才是消耗大的,后面切换数据源其实就是去指定用哪个数据库连接而已,不再消耗资源了;

下面的代码显示了切换数据源时只是通过key去拿对应的dataSource,而相关的dataSource在第一次调用时就初始化一次就可以了;

标签: #springboot多数据源动态切换