SpringBoot 集成 Druid 連接池

配置文件 pom.xml

<!-- 阿里巴巴的數據庫連接池 druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>

DruidConfig.java

package com.zwd.house.config;

import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.google.common.collect.Lists;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.druid")
    @Bean(initMethod = "init",destroyMethod = "close")
    public DruidDataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
        return dataSource;
    }

    @Bean
    public Filter statFilter(){
        StatFilter filter = new StatFilter();
        filter.setSlowSqlMillis(1);
        // druid 配置輸出慢SQL日誌記錄
        // 例如Console上輸出的:slow sql 34 millis. SELECT id,name,email,phone FROM user[]
        filter.setLogSlowSql(true);
        filter.setMergeSql(true);
        return filter;
    }

    @Bean
    public ServletRegistrationBean servletRegistrationBean(){
        return new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
    }
}

application.yml

spring:
  druid:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8
    username: root
    password: root
#最大連接數
    maxActive: 30
#最小連接數
    minIdle: 5
#獲取連接的最大等待時間
    maxWait: 10000
#解決 mysql 8小時的問題,
    validationQuery: SELECT 'x'
#空閒連接檢查時間間隔
    timeBetweenEvictionRunsMillis: 60000
#空閒連接最小空閒時間
    minEvictableIdleTimeMillis: 300000

測試

啓動項目後,可以在瀏覽器輸入 http://localhost:8080/druid 進入druid 爲我們提供的數據監控頁面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章