前面两个小节记录下了多数据源和 Druid ,本节综合起来,记录下使用 Druid 结合多数据源。跟实际项目更贴切一些。
首先,需要结合前面两节的修改内容,也就是增加 properties 配置文件的多数据源配置;然后修改 pom 文件的依赖配置。为方便查看,这里再贴下修改结果。
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=
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>
同样的,需要对数据源配置类进行添加,可以参考第二小节的内容。 到这里就结束了么? 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);
这个时候再跑一下,就正常了。