前面两个小节记录下了多数据源和 Druid ,本节综合起来,记录下使用 Druid 结合多数据源。跟实际项目更贴切一些。
学习SpringBoot系列 -02- 多数据源
学习SpringBoot系列 -03- 使用Druid数据库连接池
首先,需要结合前面两节的修改内容,也就是增加 properties 配置文件的多数据源配置;然后修改 pom 文件的依赖配置。为方便查看,这里再贴下修改结果。
1. application.properties
中的相关配置
foo.datasource.url=jdbc:h2:mem:foo
foo.datasource.username=sa
foo.datasource.password=
bar.datasource.url=jdbc:h2:mem:bar
bar.datasource.username=sa
bar.datasource.password=
2. pom.xml
中的相关配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
3. 数据源类型
同样的,需要对数据源配置类进行添加,可以参考第二小节的内容。
到这里就结束了么?
No…No…No, 如果此时运行程序,你会收到下面这个报错:
...
Caused by: java.lang.IllegalStateException: No supported DataSource type found
...
报错信息提示已经很明显了,dataSource的Type项有错,只需要分别在foo
和bar
的数据源配置类中添加下配置即可:
dataSourceProperties.setType(com.alibaba.druid.pool.DruidDataSource.class);
这个时候再跑一下,就正常了。
借着极客时间的付费课程《玩转Spring全家桶》的机会,系统性的对Spring家族做些学习和了解。
如果你也有对这个课程的学习需求,可以通过此链接进行购买,我会得到极客的返利。