欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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的差异而特意写的,和多数据源切换没联系。
springboot集成多数据源Druid

默认数据源改为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的配置。

验证

springboot集成多数据源Druid
输出栏能看到确实现在的dataSource是Druid了。接下来我们可以做Druid的多数据源切换了。

本文地址:https://blog.csdn.net/m0_37530301/article/details/109612804

相关标签: Java Spring