写点什么

使用 SpringBoot 整合数据库连接池 Druid 的错误总结

作者:不觉心动
  • 2023-06-08
    北京
  • 本文字数:2108 字

    阅读完需:约 7 分钟

前言今天使用 SpringBoot 整合数据库连接池 Druid 的错误总结的时候,遇到了几个问题,都已经解决,在这里分享给大家


发现和解决问题在这些问题中,我会通过复制关键字和截图的方式,帮助大家确实错误是否一致


问题 1 如图所示,控制台显示貌似已经成功了,但是我们可以发现,其实在启动成功之后,因为一个错误,导致系统停止了



想要解决这个问题,可以再加一个 jar 包


    <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>            <version>2.0.1.RELEASE</version>        </dependency>
复制代码


这时候我们再次启动,解决问题


问题 2

关键日志:


 Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘dataSource’: Unsatisfied dependency expressed through field ‘basicProperties’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties’: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType
复制代码



解决这个问题,也是需要一个 jar 包


  <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-jpa</artifactId>            <version>2.1.3.RELEASE</version>        </dependency>
复制代码

需要注意的地方

配置数据库的相关信息的时候


注意用户名和密码,以及 url,尤其是 url,不同的库以及版本不同,都会导致 url 出错


还有就是 jar 包冲突,缺少 jar 包等

相关代码

这里我把我的 pom 相关依赖和配置文件分享给大家


    <dependencies>        <!--druid数据库连接池-->        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid-spring-boot-starter</artifactId>            <version>1.1.21</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-jpa</artifactId>            <version>2.1.3.RELEASE</version>        </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.7.2</version> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.0.1.RELEASE</version> </dependency>

</dependencies>
复制代码


相关代码


spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT&allowPublicKeyRetrieval=true&useSSL=false&characterEncoding=utf8spring.datasource.druid.username=rootspring.datasource.druid.password=rootspring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.initialSize=10spring.datasource.druid.maxActive=20spring.datasource.druid.maxWait=60000spring.datasource.druid.minIdle=1spring.datasource.druid.timeBetweenEvictionRunsMillis=60000spring.datasource.druid.minEvictableIdleTimeMillis=300000spring.datasource.druid.testWhileIdle=truespring.datasource.druid.testOnBorrow=truespring.datasource.druid.testOnReturn=falsespring.datasource.druid.poolPreparedStatements=truespring.datasource.druid.maxOpenPreparedStatements=20spring.datasource.druid.validationQuery=SELECT 1spring.datasource.druid.validation-query-timeout=500spring.datasource.druid.filters=stat

spring.datasource.druid.stat-view-servlet.enabled=true# 访问地址规则spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*# 是否允许清空统计数据spring.datasource.druid.stat-view-servlet.reset-enable=true# 监控页面的登录账户spring.datasource.druid.stat-view-servlet.login-username=admin# 监控页面的登录密码spring.datasource.druid.stat-view-servlet.login-password=admin
复制代码


发布于: 刚刚阅读数: 3
用户头像

不觉心动

关注

还未添加个人签名 2019-05-27 加入

还未添加个人简介

评论

发布
暂无评论
使用SpringBoot整合数据库连接池Druid的错误总结_6月优质更文活动_不觉心动_InfoQ写作社区