SpringBoot在yml配置文件中配置druid

本文详细介绍了在不同版本的Druid连接池中如何配置过滤器(filter),包括从旧版本到1.1.10版本的变化。展示了具体的YAML配置样例,并指出常见配置错误及其原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最新版(我的是1.0.18版本,再往上可能不同处理方式的druid和旧版在filter配置方面有些不同,以下是旧版druid中配置filter:取自(https://www.cnblogs.com/yang-young-young/p/8137759.html)

spring:
  ##数据库连接信息
  datasource:
    url: jdbc:mysql://localhost:3306/young
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    ###################以下为druid增加的配置###########################
    type: com.alibaba.druid.pool.DruidDataSource
    # 下面为连接池的补充设置,应用到上面所有数据源中
    # 初始化大小,最小,最大
    initialSize: 5
    minIdle: 5
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    # 合并多个DruidDataSource的监控数据
    useGlobalDataSourceStat: true
    ###############以上为配置druid添加的配置########################################

下面是1.1.10版本的druid配置filter:

spring:
  ##数据库连接信息
  datasource:
    url: jdbc:mysql://localhost:3306/day05
    username: root
    password: 15963asd
    driver-class-name: com.mysql.jdbc.Driver
    ###################以下为druid增加的配置###########################
    type: com.alibaba.druid.pool.DruidDataSource
    # 下面为连接池的补充设置,应用到上面所有数据源中
    # 初始化大小,最小,最大
    initialSize: 5
    minIdle: 5
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙,此处是filter修改的地方
    filters:
      commons-log.connection-logger-name: stat,wall,log4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    # 合并多个DruidDataSource的监控数据
    useGlobalDataSourceStat: true

顺便附一下出现在springboot中yml配置文件里面配置druid的filter配置错误的信息:

Property: spring.datasource.filters     Value: stat,wall,log4j     Origin: class path resource [application.yml]:29:14     Reason: Unable to set value for property filters

在Spring Boot中使用Druid作为数据源管理器,需要在application.properties或application.yml文件中配置Druid的相关信息。以下是基本的配置步骤: 1. 添加依赖: 首先,在项目的pom.xml或build.gradle中添加Druid的依赖。对于Maven项目,可以添加: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.x.x</version> <!-- 根据实际版本替换 --> </dependency> ``` 2. 数据源配置: ```properties spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false (数据库地址、端口和名称) spring.datasource.username=myusername spring.datasource.password=mypassword ``` 3. 连接池配置: - `spring.datasource.max-active`:最大活动连接数,默认18。 - `spring.datasource.max-idle`:最大空闲连接数,默认8。 - `spring.datasource.min-idle`:最小空闲连接数,默认0。 - `spring.datasource.initial-size`:初始化连接数,默认5。 4. 监控配置: ```properties spring.datasource.druid.stat-view-servlet.enabled=true (开启监控页面) druid.stat-view-servlet.url-pattern=/druid/* (访问统计信息的URL前缀) ``` 5. 日志级别(可选): ```properties spring.datasource.log-enabled=true (启用SQL日志) druid.sql-stat-log-enabled=true (记录SQL语句) ``` 6. 安全配置: 可以设置账号密码、过滤规则等,例如: ```properties druid.security.user=druid druid.security.password=yourpassword ``` 7. 高可用配置(可选): 如果有多台Druid服务器,可以配置集群。 ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值