【问题标题】:Connecting Spring Boot to PostgreSQL fails将 Spring Boot 连接到 PostgreSQL 失败
【发布时间】:2020-08-24 23:48:57
【问题描述】:

我正在尝试将 Spring Boot 后端连接到 PostgreSQL,但出现此错误:

org.postgresql.util.PSQLException: Der Verbindungsversuch schlug fehl. (->in english: Tried but  
failed to connect.)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:257) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:149) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:35) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:47) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc42.AbstractJdbc42Connection.<init>(AbstractJdbc42Connection.java:21) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.jdbc42.Jdbc42Connection.<init>(Jdbc42Connection.java:28) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.Driver.makeConnection(Driver.java:415) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at org.postgresql.Driver.connect(Driver.java:282) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-3.4.2.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.2.jar:na]
...
   

这是我的 application.properties 文件:

spring.datasource.url= jdbc:postgresql://localhost:5432/springbootdb 

spring.datasource.username=root 
spring.datasource.password=root   

spring.jpa.hibernate.ddl-auto=create-drop

pom.xml:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>2.2.6.RELEASE</version>
</dependency>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
</dependency>    

<dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.4-1206-jdbc42</version>
</dependency>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
</dependency>

这就是具有所有者根的数据库 springbootdb:

为什么连接失败?

【问题讨论】:

  • 请删除依赖中重复的postgresql驱动,让spring给的版本(一般是42.x版本)。此外,在您显示的情况下应该有一个“原因”异常
  • 哦,对不起,我删除了副本,但这不是问题。它说的是 Spring MVC,但我没有使用 MVC?:原因:org.springframework.beans .factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class] 中创建名称为“mvcConversionService”的 bean 时出错:通过工厂方法进行 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException: 无法实例化 [org.springframework.format.support.FormattingConversionService]:
  • 我也尝试过使用“mariaDB”而不是“PostgreSQL”,但我仍然遇到同样的问题。

标签: postgresql spring-boot maven


【解决方案1】:

现在可以了。 我首先创建了另一个存储库,然后我想改变我存储数据的方式并创建了一个新的实体、服务和存储库,并且没有删除旧的。 旧的有问题(从服务转移到存储库的实体不再符合命名策略,我认为?我不知道它是什么,但我删除它以清理我的代码然后就成功了。

【讨论】:

    猜你喜欢
    • 2018-06-09
    • 2019-10-20
    • 2018-05-29
    • 1970-01-01
    • 2019-06-12
    • 2020-11-06
    • 2020-07-13
    • 2017-12-31
    • 1970-01-01
    相关资源
    最近更新 更多