没搞明白的bug记录
时隔几周再次使用druid数据库连接池,遇到了奇怪的问题,解决地也莫名其妙,本来以为是版本兼容性问题,经过验证发现并不是。
问题描述
通过xml的方式对druid进行依赖注入,本来照理说应该通过SpEl表达式引入外部的数据库配置文件db.properties中的数据,我先偷了个懒,直接在value中输入了诸如数据库账号密码等数据,然后就无法实现数据库的连接,druid循环报错,应该是无法实现数据库连接的初始化,报出来的错误日志中找不到有效的信息。
十二月 01, 2021 9:10:03 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
十二月 01, 2021 9:10:03 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl error
严重: create connection SQLException, url: mysql://localhost:3306/springjdbc, errorCode 0, state null
java.sql.SQLException: connect error, url mysql://localhost:3306/springjdbc, driverClass com.mysql.jdbc.Driver
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1727)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2838)
十二月 01, 2021 9:10:03 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl error
严重: create connection SQLException, url: mysql://localhost:3306/springjdbc, errorCode 0, state null
java.sql.SQLException: connect error, url mysql://localhost:3306/springjdbc, driverClass com.mysql.jdbc.Driver
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1727)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2838)
问题的解决
和前面说的一样,使用SpEL表达式就好了,非常奇怪,我实在想不到两种写法有什么区别,同样都是字符串。
常奇怪,我实在想不到两种写法有什么区别,同样都是字符串。