文档章节

spring boot多DataSource配置时的一个小细节

黑桃
 黑桃
发布于 2017/03/30 00:38
字数 227
阅读 511
收藏 3

spring boot 1.5.1 版本

在只连接一个DataSource,我们一般这么配置(简化):

spring.datasource.url=jdbc:mysql://localhost:3306/test2
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.tomcat.test-while-idle=true

这里spring boot reference会要求我们针对test-while-idle参数需要使用 .tomcat 前缀,如果你使用intellij idea IDE,自动提示时也会帮你加上这个前缀。

这时,我们使用代码打印一下DataSource的信息:

@RestController
public class TestController {

	@Autowired private DataSource ds;

	@RequestMapping("/testdb")
	public String testdb() {
		return ds.toString();
	}
	
}

可以得到如下返回:

可以看到生效了!

 

那么切换到多数据源的情况下,应该如何配置呢?第一个念头肯定是:

spring.datasource.primary.url=jdbc:mysql://localhost:3306/test1
spring.datasource.primary.username=root
spring.datasource.primary.password=
spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.primary.tomcat.test-while-idle=true

spring.datasource.secondary.url=jdbc:mysql://localhost:3306/test2
spring.datasource.secondary.username=root
spring.datasource.secondary.password=
spring.datasource.secondary.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.secondary.tomcat.test-while-idle=true

直接在tomcat前面加上primary和secondary,可是没有生效,看结果:

去掉 .tomcat 之后运行,再看DataSource,就生效了!

© 著作权归作者所有

黑桃

黑桃

粉丝 20
博文 15
码字总数 5145
作品 0
福州
其他
私信 提问
SpringBoot与Mybatis整合的多模块项目

springBoot项目构建 Spring多模块项目的构建 1.使用Idea构建一个Springboot项目 File-->new-->project-->springInitializr-->(NEXT) 2.主项目pom中添加依赖 ~ org.springframework.bootspri......

JavionXiong
2018/06/22
838
0
怎样排查 Cannot determine embedded database driver class for database type NONE

调试排查 Cannot determine embedded database driver class for database type NONE 的错误 把工程导入IDE里,直接启动应用,抛出来的异常信息是: 其实这时有两个思路,直接google搜索Can...

小致dad
03/20
77
0
spring boot 实现多数据源配置

@Qualifier 翻译:合格者。 这个注解很重要。 1.当我们配置了两个service,实现同一个接口时,在Controller中,注入service对象时,可以通过该注解,声明注入的是哪个service实现类。否则会s...

杨健-YJ
01/07
115
0
深入Spring Boot:怎样排查 Cannot determine embedded database driver class for database type NONE

调试排查 Cannot determine embedded database driver class for database type NONE 的错误 把工程导入IDE里,直接启动应用,抛出来的异常信息是: Error starting ApplicationContext. To ...

花漾年华
04/17
15
0
SpringBoot 多数据源快速启动器 - dynamic-datasource-spring-boot-starter

dynamic-datasource-spring-boot-starter 简介 dynamic-datasource-spring-boot-starter 基于 springBoot2.0. 它适用于读写分离,一主多从的环境。 主数据库使用 操作. 从数据库使用 操作. 如...

小锅盖
2018/05/02
7.2K
11

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
7
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部