Spring Boot3 配置 Druid 总踩坑?看完这篇让你少走 90% 弯路

Spring Boot3 配置 Druid 总踩坑?看完这篇让你少走 90% 弯路

编程文章jaq1232025-08-23 4:43:395A+A-

你是不是也遇到过这样的情况?在 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 执行记录,或者连接池参数不生效?欢迎在评论区留言分享你的踩坑经历,咱们一起交流解决办法。如果这篇内容对你有帮助,别忘了点赞收藏,下次配置直接参考!

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21