在使用Druid时候遇到的坑

在使用Druid时候遇到的坑

注释错误

错误示范

//将配置再application.yml文件中的datasource起来并且注入到容器中
    @ConfigurationProperty(prefix = "spring.datasource")
    @Bean()
    public DataSource druidDataSource() {
        return new DruidDataSource();
    }

正确示范

//将配置再application.yml文件中的datasource起来并且注入到容器中
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean()
    public DataSource druidDataSource() {
        return new DruidDataSource();
    }

分析:
注释错了,一个是ConfigurationProperty,另一个是ConfigurationProperties,两者是完全不同的,当时我是靠代码的补全去选择,然后我花了好久的时间才发现这里,我事后去找这个注释竟然找不到了,巨坑!!!

application配置文件的坑

错误示范:

spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/spring_boot?serverTimezone=UTC
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      filters: stat,wall

正确示范

spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/spring_boot?serverTimezone=UTC
    type: com.alibaba.druid.pool.DruidDataSource
    filters: stat,wall

分析:
配置出错,一开始我去查看该版本的源码,发现DataSourceProperties的配置类里面竟然没有filters这个属性,然后我就是用了druid下面的filters,结果显然而知,在druid的后台中,sql这些数据一个都没统计,然后我抱着瞎来的心态把filters直接写在datasource下面竟然成功了,我现在还是不理解为什么明明没有这个属性却能起到作用?巨坑!!!
下面是DataSourceProperties的部分源码,哪里有什么filters???
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值