spring boot Druid自定义数据源不生效

application.yml的配置

spring:
  datasource:
    username: root
    password: *******
    url: jdbc:mysql://localhost:3306/spring-boot-jdbc?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    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
  poolPreparedStatements: true
  #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
  #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
  #则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j
  filters: stat,wall,log4j
  maxPoolPreparedStatementPerConnectionSize: 20
  useGlobalDataSourceStat: true
  connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

spring boot Druid自定义数据源不生效_第1张图片

测试结果

通过设置断点debug获取druid连接池的数据源参数
spring boot Druid自定义数据源不生效_第2张图片
发现自定义druid数据源并没有生效

问题分析

druid数据源没有生效说明bean里没有注入自定义数据源
spring boot Druid自定义数据源不生效_第3张图片
即spring.datasource并没有注入数据源

发现并解决问题

检查application.yml 发现确实是yml中没有注入自定义数据源,左边一定要包含进spring.datasource
spring boot Druid自定义数据源不生效_第4张图片

总结

一个小小的排版问题给弄了很久,很难受,含泪写下这篇博客=_=

你可能感兴趣的:(Spring,Boot,Java)