java - 将 Spring Boot 应用程序与带有属性的 postgresql 问题连接起来
问题描述
我想将我的应用程序从 Spring Boot 与在 docker 中运行的 postgresql连接起来
启动 ApplicationContext 时出错。要显示条件报告,请在启用“调试”的情况下重新运行您的应用程序。2021-08-02 16:18:56.400 错误 4169 --- [主要] osbdLoggingFailureAnalysisReporter:
应用程序无法启动
描述:
无法配置数据源:未指定“url”属性,并且无法配置嵌入式数据源。
原因:无法确定合适的驱动程序类
行动:
考虑以下几点:如果您想要一个嵌入式数据库(H2、HSQL 或 Derby),请将其放在类路径中。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有配置文件处于活动状态)。
进程以退出代码 1 结束
这是连接数据库
Postgres 数据源:
package com.example.restservice.datasource;
import com.zaxxer.hikari.HikariDataSource;
import
org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
public class PostgresDataSource {
@Bean
@ConfigurationProperties("app.datasource")
public HikariDataSource hikariDataSource() {
return DataSourceBuilder
.create()
.type(HikariDataSource.class)
.build();
}
}
在 application.yml
app:
datasource:
jdbcUrl: jdbc:postgresql://localhost:5432/drmdb
username: postgres
password: password
pool-size: 30
我在 application.yml 中有这些问题,我不知道出了什么问题
解决方案
你在这一行有一个错字:
jdbcUrl: jdbc:postgresql://localhost:5432/drmdb
您应该将其修复为:
jdbc-url: jdbc:postgresql://localhost:5432/drmdb
使用指南时,请始终查看说明。有时有源代码。
正如@grekier 所说,您还应该添加@Configuration
到PostgresDatasource
课程中。
推荐阅读
- batch-file - 程序关闭后关闭的批处理文件
- odata - 从另一个 Odata 服务更新值
- mysql - MySQL sort query by matches from other tables
- angular - 如果 Angular 5 打字稿中不存在,则添加事件侦听器
- python - 使用 Python 从文本中打印一些想要的行
- httpclient - 使用 boost::beast 解码 Ntrip 1.0 协议的最佳方法是什么
- twilio - Twilio Studio Chatbot - 连接 2 个呼叫者
- ios - ARKit - 如何在另一个 SCNNode 中包含 SCNText(讲话泡泡)
- c# - ASP.NET Web API 2 在单独的项目中使用实体框架
- c# - X509Certificate2 Import PathTooLongException:指定的路径、文件名或两者都太长