Spring Boot3 配置 Druid 总踩坑?看完这篇让你少走 90% 弯路
你是不是也遇到过这样的情况?在 Spring Boot3 项目里配置 Druid 时,要么启动时报一堆莫名其妙的错,要么配置完了监控页面死活打不开,甚至有时候连接池参数明明设好了,运行起来却跟没生效一样?作为每天跟这些框架打交道的开发,这种 “明明照着文档做却行不通” 的滋味,真的太让人抓狂了。
为什么 Spring Boot3 配置 Druid 容易踩坑?
其实这事儿不能全怪咱们操作失误。Druid 作为阿里出品的优秀数据库连接池,功能确实强大 —— 不仅能管理数据库连接,还自带监控、防 SQL 注入等实用功能,在互联网项目里几乎是标配。
但问题在于,Spring Boot3 相比之前的版本,自动配置机制有不少变动,尤其是对第三方组件的适配要求更严格。而很多老教程还停留在 Spring Boot2.x 的时代,直接照搬肯定会出问题。
就像最近栈里不少朋友吐槽的:明明依赖加对了,配置文件也写了,结果启动就报 “
DataSourceAutoConfiguration” 相关的错误。这就是没搞清楚新版本适配规则的典型情况。
Spring Boot3 配置 Druid 的 3 个核心步骤
步骤 1:引入正确的依赖(版本不对,一切白费)
Spring Boot3 必须使用适配的 Druid 版本,否则会出现兼容性问题。在 pom.xml 中,除了引入 spring-boot-starter-web 和对应的数据库驱动,还需特别注意:
- Druid 版本需用1.2.18 及以上
- 必须使用druid-spring-boot-3-starter(老版本的 druid-spring-boot-starter 在 Spring Boot3 中不兼容)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.18</version>
</dependency>
步骤 2:编写配置文件(核心参数一个都不能少)
以 application.yml 为例,配置分为 3 部分,每部分都有必须注意的细节:
基础数据源配置
需明确指定数据源类型为 Druid,避免 Spring Boot3 默认使用 HikariDataSource:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 必须指定Druid数据源
driver-class-name: com.mysql.cj.jdbc.Driver # 数据库驱动(根据数据库类型调整)
url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true # 注意url参数格式
username: root
password: 123456
连接池核心参数配置
根据项目实际情况设置,推荐参考值:
druid:
initial-size: 5 # 初始化连接数(建议5-10)
max-active: 20 # 最大连接数(建议20-50,太多会占用资源)
min-idle: 5 # 最小空闲连接(建议3-5)
max-wait: 3000 # 获取连接的超时时间(3000毫秒,避免线程阻塞)
监控功能配置(最容易被忽略的部分)
很多人配置完访问不了监控页面,就是这里没设置对:
stat-view-servlet:
enabled: true # 开启监控页面
url-pattern: /druid/* # 监控页面访问路径
allow: 0.0.0.0 # 允许访问的IP(默认127.0.0.1,局域网访问改0.0.0.0)
login-username: admin # 监控页面登录账号(必须设置)
login-password: 123456 # 监控页面登录密码(必须设置)
web-stat-filter:
enabled: true # 开启Web监控
url-pattern: /* # 监控所有URL
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" # 排除静态资源和监控页面本身
解决 Spring Boot3 的安全限制(否则监控可能无法访问)
Spring Boot3 默认启用了 Actuator 的安全限制,可能会影响 Druid 监控的正常使用。需在配置中添加:
management:
endpoints:
web:
exposure:
include: "*" # 暴露所有端点(生产环境可按需调整)
验证配置是否成功
启动项目后,访问
http://localhost:8080/druid,输入配置的账号密码(如 admin/123456):
- 能看到 Druid 监控首页 → 配置成功
- 首页可查看:数据源状态、SQL 执行情况、URL 监控等信息,对排查项目问题非常实用
总结
依赖版本:必须用
druid-spring-boot-3-starter 1.2.18 及以上
配置细节:监控部分的账号密码、IP 限制必须写全
安全设置:注意 Spring Boot3 对 Actuator 的限制,按需暴露端点
你在配置时是不是也遇到过其他问题?比如监控页面能打开但看不到 SQL 执行记录,或者连接池参数不生效?欢迎在评论区留言分享你的踩坑经历,咱们一起交流解决办法。如果这篇内容对你有帮助,别忘了点赞收藏,下次配置直接参考!
相关文章
- Spring Boot + MyBatis实战中那些“坑”与思考 — 以身份认证服务为例
- 一款免费开源的企业级 ERP 系统_企业开源软件
- 一篇教你通过Seata解决分布式事务问题
- Spring Boot 3 中整合 XXL-JOB 实现任务调度操作全解析
- 【推荐】一款开源免费、功能强大的短链接生成平台
- 你会不会使用 SpringBoot 整合 Flowable 快速实现工作流呢?
- Docker Compose:多容器应用管理利器
- Spring Boot3 配置 Druid 总踩坑?看完这篇让你少走 90% 弯路
- Spring Security在前后端分离项目中的使用
- Windows安装Nacos2.x_Windows安装U盘