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

Spring Boot整合Druid配置多数据源

程序员文章站 2022-04-10 14:38:15
Druid是阿里开发的数据库连接池,功能强大,号称Java语言中最好的数据库连接池。本文主要介绍Srping Boot下用Druid配置多个数据源,demo环境为:Spring Boot 2.1.4.RELEASE、Druid 1.1.16。 1、引入依赖

 druid是阿里开发的数据库连接池,功能强大,号称java语言中最好的数据库连接池。本文主要介绍srping boot下用druid配置多个数据源,demo环境为:spring boot 2.1.4.release、druid 1.1.16。

1、引入依赖

<dependency>
    <groupid>com.alibaba</groupid>
    <artifactid>druid-spring-boot-starter</artifactid>
    <version>1.1.16</version>
</dependency>

2、配置数据源

在application.yml中配置druid数据源

spring:
  datasource:
    druid:
      db1:
        driverclassname: oracle.jdbc.oracledriver
        url: jdbc:oracle:thin:@10.39.196.10:1521:test
        username: user1
        password: user1
        initialsize: 2
        minidle: 2
        maxactive: 5
        validationquery: select 1 from dual
        testwhileidle: true
        testonborrow: true
        testonreturn: false
        maxwait: 6000
        filters: wall,stat,slf4j
      db2:
        driverclassname: oracle.jdbc.oracledriver
        url: jdbc:oracle:thin:@10.39.196.10:1521:test
        username: user2
        password: user2
        initialsize: 2
        minidle: 2
        maxactive: 5
        validationquery: select 1 from dual
        testwhileidle: true
        testonborrow: true
        testonreturn: false
        maxwait: 6000

3、配置类

package com.inspur.webframe.config;

import javax.sql.datasource;

import org.springframework.boot.context.properties.configurationproperties;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.context.annotation.primary;

import com.alibaba.druid.spring.boot.autoconfigure.druiddatasourcebuilder;

@configuration
public class datasourceconfig {

    @primary
    @bean(name = "datasource1")
    @configurationproperties(prefix="spring.datasource.druid.db1")
    public datasource datasourcecmuser() {
        return druiddatasourcebuilder.create().build();
    }

    @bean(name = "datasource2")
    @configurationproperties(prefix="spring.datasource.druid.db2")
    public datasource datasourceirms() {
        return druiddatasourcebuilder.create().build();
    }
}

4、使用

使用@autowired或@qualifier引用数据源

@autowired
private datasource datasource;//默认引用datasource1

@autowired
@qualifier("datasource2")
private datasource datasource;//引用datasource2