springboot集成多数据源Druid
程序员文章站
2022-03-23 22:57:38
背景:之前在公司搭建了一个springmvc框架的多数据源切换功能,这次改用springboot框架来做多数据源切换,并且事务管理问题。源码地址: https://github.com/WuJonah/localpractice准备: JDK1.8,boot 2.3具体的springboot项目新建请自行百度。项目结构:......
背景:之前在公司搭建了一个springmvc框架的多数据源切换功能,这次改用springboot框架来做多数据源切换,并且事务管理问题。
准备: JDK1.8,boot 2.3, 一个成功启动的,并且能够连接数据库的springboot项目。
具体的springboot项目新建请自行百度。
项目结构:
相对于新建的项目,这里多了一个DruidConfig类,还有两个不同的service的实践类,这两个实践类是我为了验证注解@Resource和@Autowired的差异而特意写的,和多数据源切换没联系。
默认数据源改为Druid
springboot的默认数据源并不是druid,所以我们要配置下yml文件,改成druid数据源。
1.application.yml
spring:
profiles:
active: dev
2.application-dev.yml
server:
port: 8080
#spring:
# datasource:
# username: xxx
# password: xxx
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://ip:3306/xxx
#表示该配置直接为Spring容器负责处理
spring:
datasource:
druid:
url: jdbc:mysql://ip:3306/xx
username: xx
password: xxx
driver-class-name: com.mysql.jdbc.Driver
initial-size: 5
max-active: 20
min-idle: 5
max-wait: 60000
# 多数据库配置
3.pom.xml 加上需要的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.22</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.22</version>
</dependency>
4.druidConfig.java
package com.wujj.localpractice.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
// 配置类
@Configuration
public class DruidConfig {
//若使用该数据源 必须存在该class
@Bean
// 必须将druid数据源下的属性 与该类绑定起来
//将自定义的 Druid数据源添加到容器中,不再让 Spring Boot 自动创建
@ConfigurationProperties(prefix = "spring.datasource.druid")
public DataSource druidDataSource(){
return new DruidDataSource();
}
}
这样就完成了数据源Druid的配置。
验证
输出栏能看到确实现在的dataSource是Druid了。接下来我们可以做Druid的多数据源切换了。
本文地址:https://blog.csdn.net/m0_37530301/article/details/109612804
上一篇: Mybatis Ambiguous collection type for property ‘xxx‘. You must specify ‘java Type‘ or ‘resultMap‘.
推荐阅读
-
SpringBoot集成阿里巴巴Druid监控的示例代码
-
Springboot+mybatis+druid 配置多数据源
-
springboot整合高版本druid数据源(1.1.20+),解决监控页打不开的问题
-
SpringBoot集成Druid连接池
-
Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解
-
SpringBoot集成Druid配置(yaml版本配置文件)详解
-
SpringBoot集成Druid监控页面最小化配置操作
-
SpringBoot + MyBatis + Druid连接池配置多数据源
-
Springboot集成通用Mapper与Pagehelper,实现mybatis+Druid的多数据源配置
-
springboot整合mybatis采用druid连接池对mysql,hive双数据源整合并打包