springboot 动态数据源的实现方法(Mybatis+Druid)
今天作者主要基于后者做的实现,且方式1的实现比较简单这里不做过多探讨。方式2的实现:第1种方式虽然实现比较加单,劣势就是不同数据源的mapper文件不能在同一包名,就显得不太灵活了。所以为了更加灵活的作为一个组件的存在,作者采用的第二种方式实现。点开该类源码会发现,它实现了通过key获取DataSource的逻辑。当然,这里可以通过setDataSourceLookup()来改变其属性,因为关于此处有一个坑,后面会讲到。示例配置1:示例配置2:在Spring boot启动的时候排除DataSourceAutoConfiguration即可。但是在实验的时候发现由Druid创建的数据源会因此而关闭,由Spring的DataSourceBuilder创建的数据源则不会发生任何变化。
下载地址
用户评论