1、数据源配置
在Spring Boot中默认配置了Tomcat, HikariCP、Commons DBCP三种数据源类型,如果在classpath中都能找到的话,则Tomcat优先加载(顺序加载)
配置方式
@Bean(name="dataSource", initMethod="init", destroyMethod="close") public DataSource dataSource() { return DataSourceBuilder.create().build(); }
默认使用spring.datasource前缀的属性,也可以自定义属性,通过@Value读取
spring.datasource.url=jdbc:mysql://localhost:3306/db1 spring.datasource.username=root spring.datasource.password=123456
2、使用阿里开源的druid数据源配置
引入pom依赖,引入后配置文件中自动提示druid配置属性
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.2</version> </dependency>
配置单数据源时只需替换数据源的创建即可
return DruidDataSourceBuilder.create().build();
基于druid的多数据源配置
@Bean(name="dataSource", initMethod="init", destroyMethod="close")//别名指定 @Primary //指定为主数据源 @ConfigurationProperties("spring.datasource.druid") //指定配置文件中的属性引用 public DataSource dataSource() { return DruidDataSourceBuilder.create().build(); } /***配置其他数据源***/ @Bean(name="otherDataSource", initMethod="init", destroyMethod="close") @ConfigurationProperties("other.datasource.druid") //指定配置文件中的属性引用 public DataSource otherDataSource() { return DruidDataSourceBuilder.create().build(); }
定义配置文件
spring.datasource.druid.url=jdbc:mysql://localhost:3306/db1 spring.datasource.druid.username=root spring.datasource.druid.password=123456 spring.datasource.druid.filters=stat,wall,slf4j //druid监控配置 #自定义数据源属性配置,druid-spring-boot-starter已引入druid的配置提示,根据提示只需重新定义 #属性前缀即可,实现不同数据源的个性化配置 other.datasource.druid.type=com.alibaba.druid.pool.DruidDataSource other.datasource.druid.url=jdbc:mysql://localhost:3306/db2 other.datasource.druid.username=root other.datasource.druid.password=123456 other.datasource.druid.filters=stat,wall,slf4j
数据源在jdbctemple中的注入,通过@Qualifier注解区分数据源的使用
@Bean public JdbcTemplate jdbcTemplate(@Qualifier("dataSource")DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean("otherJdbcTemplate") public JdbcTemplate otherJdbcTemplate(@Qualifier("otherDataSource")DataSource dataSource) { return new JdbcTemplate(dataSource); }
控制台查看数据源初始化信息,可以看到两个都已初始化
--- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-2} inited
druid监控台查看
http://localhost:8765/druid/datasource.html
数据源1,Basic Info For DataSource-1920147706 数据源2,Basic Info For DataSource-2034046523
相关推荐
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...
1.3 spring boot起步之Hello World 1.4 Spring Boot返回json数据 1.5 Spring Boot热部署 1.6 Spring Boot使用别的json解析框架 1.7 全局异常捕捉 1.8 Spring Boot datasource - mysql 1.9 JPA - Hibernate 1.10 使用...
mybatis-multi-datasource|[mybatis、数据库集群、读写分离、读库负载均衡](https://github.com/smltq/spring-boot-demo/blob/master/mybatis-multi-datasource) template-thymeleaf|[thymeleaf实现应用国际化示例]...
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
dynamic-datasource-spring-boot-starter-3.2.0.jar
Spring Boot+Jpa多数据源配置Demo,可同时支持多种数据库,不同数据库,同时支持不同数据库的JdbcTemplate
spring-boot-config-datasource-test 显示使用@RefreshScope和使用 spring-boot 的条件 bean 定义时出现问题的示例。 它是一个基本的应用... 有两个数据源,但应该只有一个,因为不应创建提供的 spring-boot 之一。
多数据源调整和修改,支持数据源的切换等功能
一个springboot的多数据配置,从mapper到controller完整的一个业务流程
能够使用Spring Boot提供的@ConfigurationProperties ( spring.datasource.hikari.* , spring.datasource.dbcp2.* ) 通过部署属性decorator.datasource.enabled=true/false禁用装饰 通过spring属性applica
后端:Spring Boot、Spring MVC、MySQL、Maven、MyBatis 前端:jsp、Bootstrap、layui 修改数据库配置: 打开 src/main/resources/application-dev.yml 文件。 根据你的 MySQL 配置,修改以下属性: spring....
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
利用aop进行动态的数据源切换
spring boot中文文档,从安装到部署。 I. Spring Boot文件 1.关于文档 2.获得帮助 3.第一步 4.使用Spring Boot 5.了解Spring Boot功能 6.转向生产 7.高级主题 II。入门 8.介绍Spring Boot ...
包括'chapter-2-spring-boot-quick-start','chapter-4-spring-boot-validating-form-input','chapter-5-spring-boot-paging-sorting','doc','springboot-configuration','springboot-dubbo-client','springboot-...
Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring...
spring-boot-dynamic-datasource-started-master.rar
3.数据库使用Mysql中自带的sakila数据库,使用前,请将application.yml中的spring.datasource.ssm.password中的数据库密码设置为自己的; 4.实现了sakila中的单表的增删改查和跨表查询,跨表查询包括了Mybatis的1-N...
Spring Boot Documentation 1. About the Documentation 2. Getting Help 3. First Steps 4. Working with Spring Boot 5. Learning about Spring Boot Features 6. Moving to Production 7. Advanced Topics II. ...