Spring Boot使用Druid数据连接池

Druid简介: Druid是阿里巴巴开源的数据库连接池,Druid号称是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能。

下面笔者就来说说如何在Spring boot项目中集成Druid:

第一步: 添加pom依赖:



    4.0.0

    com.spring.boot
    demo
    0.0.1-SNAPSHOT
    jar

    demo
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.4.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            com.alibaba
            druid
            1.0.20
        
        
            mysql
            mysql-connector-java
            5.1.46
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



第二步: 在application.yml添加数据源配置:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: test
    password: test
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    exceptionSorter: true
    testOnReturn: false
    poolPreparedStatements: true
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    useGlobalDataSourceStat: true

 第三步:配置Druid的监控统计功能:

package com.spring.boot.demo.config;

import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class DruidConfig {

    @Bean
    public ServletRegistrationBean druidServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
                "/druid/*");
        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
        //登录查看信息的账号密码.
        servletRegistrationBean.addInitParameter("loginUsername","admin");
        servletRegistrationBean.addInitParameter("loginPassword","123456");
        //是否能够重置数据
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean druidStatFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }

}

走完上面几步之后,让我们来启动Spring Boot:

Spring Boot使用Druid数据连接池_第1张图片

通过启动日志,我们发现,Druid的dataSource已经被容器检测到了,说明配置成功。下面我们来访问一下监控系统:浏览器输入: http://localhost:8080/druid,

Spring Boot使用Druid数据连接池_第2张图片

出现登录界面,账户和密码,使用上图DruidConfig.druidServlet方法里面填的用户名和密码即可。登录成功后可以看到主界面:

Spring Boot使用Druid数据连接池_第3张图片

大功告成!

欢迎关注笔者的公众号: Java互通,或扫描一下二维码,精品干货分享,让你快速成长!

Spring Boot使用Druid数据连接池_第4张图片

你可能感兴趣的:(Spring Boot使用Druid数据连接池)