SpringBoot学习(五)—— springboot快速整合Druid
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Druid连接池简介由阿里巴巴开源的druid连接池是目前综合实力最突出的数据库连接池,而且还提供了监控日志功能,能够分析SQL执行情况。引入druid连接池pom.xml中加入 com.ali
千家信息网最后更新 2026年11月02日SpringBoot学习(五)—— springboot快速整合Druid
Druid连接池
简介
由阿里巴巴开源的druid连接池是目前综合实力最突出的数据库连接池,而且还提供了监控日志功能,能够分析SQL执行情况。
引入druid连接池
pom.xml中加入
com.alibaba druid 1.1.21 application.properties中加入
# druidspring.datasource.type=com.alibaba.druid.pool.DruidDataSource# 连接池初始化大小,最小,最大spring.datasource.initialSize=10spring.datasource.minIdle=10spring.datasource.maxActive=30# 连接等待超时时间spring.datasource.maxWait=60000# 多久检测需要关闭的空闲连接spring.datasource.timeBetweenEvictionRunsMillis=60000# 一个连接在池中最小生存的时间spring.datasource.minEvictableIdleTimeMillis=300000# 校验SQL,Oracle配置 spring.datasource.validationQuery=SELECT 1 FROM DUAL,如果不配validationQuery项,则下面三项配置无用spring.datasource.validationQuery=SELECT 'x'spring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=false# 打开PSCache,并且指定每个连接上PSCache的大小spring.datasource.poolPreparedStatements=truespring.datasource.maxPoolPreparedStatementPerConnectionSize=20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,wall用于防火墙spring.datasource.filters=stat,wall,log4j# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据spring.datasource.useGlobalDataSourceStat=true注:之前已经配置好了mysql,mybatis,这里没有重复写了
代码实战
新增了一个DruidFilter.java来配置内置的监控
DruidFilter.java
package com.example.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;@Configurationpublic class DruidFilter { @Bean public ServletRegistrationBean druidStatView() { //指定路径进入内置监控页面 ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); //IP白名单: servletRegistrationBean.addInitParameter("allow", "127.0.0.1"); //IP黑名单 servletRegistrationBean.addInitParameter("deny", "192.168.1.73"); //登录查看信息的账号密码. //servletRegistrationBean.addInitParameter("loginUsername", "admin"); //servletRegistrationBean.addInitParameter("loginPassword", "123456"); //是否能够重置数据. servletRegistrationBean.addInitParameter("resetEnable", "true"); return servletRegistrationBean; } @Bean public FilterRegistrationBean druidWebStatFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); //添加过滤规则. filterRegistrationBean.addUrlPatterns("/*"); //添加不需要忽略的格式信息. filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; }}注:我之前就已经配置好了spring security,如果在和其他教程一样配置druid的账号密码,会导致输入druid的账号密码后无法跳转进入内置监控页面,我知道有很多方法可以避免,但那都需要额外增加代码来判断绕过,既然spring security已经有了账号权限,何必额外非得给druid单独增加一套账号权限,把 /druid/* 路径配置在spring security中,公用已有的账号权限不更好嘛。所以我没有单独配置。
还有这只是常用的配置,如若需要进一步了解详细的配置
内置监控页面配置详情,Web关联配置详情
效果图如下
恩恩,还自带阿里云的广告,果然是阿里的开源产品
配置
监控
账号
密码
数据
权限
页面
阿里
最小
代码
信息
功能
大小
时间
详情
路径
中加
统计
不配
巴巴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有格互联网科技
互联网的科技
互联网科技金融
平安科技 互联网
云电互联网科技
时间互联网络科技
天下捷融互联网科技
互联网金融 科技创新
长亮科技互联网金融
甘肃拓世互联网科技有限公司
深圳国际航运科技和互联网
世界互联网科技公司市值排名
厦门千工互联网科技有限公司
为客找房互联网科技公司怎么样
互联网公司高科技产品
互联网安防科技感
济南小医互联网科技有限公司招聘
上海同邻互联网科技有限公司规模
长沙渺峰互联网科技有限公司
杭州科技互联网公司有哪些
互联网 科技公司
互联网医疗科技
百单互联网科技有限公司
互联网科技公司介绍
成都狮子座互联网科技
互联网科技公司做什么
互联网 科技馆
黑科技闪耀互联网之光
恒生科技指数 中概互联网
六子台科技互联网展会