1. 在 Spring Boot 项目中加入druid-spring-boot-starter依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
2、配置数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/practice?serverTimezone=UTC&useSSL=true
username: root
password: 1234
schema: classpath:dep.sql
initialization-mode: always
type: com.alibaba.druid.pool.DruidDataSource
3、 添加数据库连接扩展配置
# 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
3. 添加Druid的监控配置
# 配置多个使用英文逗号隔开,常用的有stat,wall,loj4j,slf4j等spring.datasource.druid.filters=stat
# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
# 是否开启重置按钮功能
spring.datasource.druid.stat-view-servlet.enabled=true
#自定义监控页面路径
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
#允许访问的路径 默认是允许所有 deny 拒绝那个地址访问 黑名单 deny设置白名单
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled= true
# 添加过滤规则
spring.datasource.druid.web-stat-filter.url-pattern=/*
# 添加不需要忽略的格式信息
spring.datasource.druid.web-stat-filter.exclusions='*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
4、将配置文件和配置类进行绑定
package com.item.springbootjdbctest.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 org.springframework.stereotype.Component;
import javax.sql.DataSource;
@Configuration
public class DuridDatasourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druid(){
return new DruidDataSource();
}
}