注:本文的多数据源配置及切换的实现方法是,在框架中封装,具体项目中配置及使用,也适用于多模块项目
配置文件数据源读取
通过springboot的Envioment和Binder对象进行读取,无需手动声明DataSource的Bean
yml数据源配置格式如下:
spring:
datasource:
master:
type:com.alibaba.druid.pool.DruidDataSource
driverClassName:com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/main?
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username:root
password:11111
cluster:
-key:db1
type:com.alibaba.druid.pool.DruidDataSource
driverClassName:com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/haopanframetest_db1?
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username:root
password:11111
-key:db2
type:com.alibaba.druid.pool.DruidDataSource
driverClassName:com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/haopanframetest_db2?
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username:root
password:11111
master为主数据库必须配置,cluster下的为从库,选择性配置
获取配置文件信息代码如下
@Autowired
privateEnvironmentenv;
@Autowired
privateApplicationContextapplicationContext;
privateBinderbinder;
binder=Binder.get(env);
List