【问题标题】:How to pass database name explicitly in Spring Boot Configuration?如何在 Spring Boot 配置中显式传递数据库名称?
【发布时间】:2018-11-13 09:16:34
【问题描述】:

我有一个 Spring Boot 应用程序,它连接到 Postgres 数据库。我在 application.properties 中将数据源 url 指定为 -

spring.datasource.url=jdbc:postgresql://:5432/mydb

jdbc url (jdbc:postgresql://:5432/) 实际上存储在我的应用程序能够读取的单独外部位置。因此,我只想在属性文件中指定数据库名称。

我不想将数据库名称作为某个环境变量传递,因为它不会改变。

我在这一点上卡住了很长一段时间,我怎样才能做到这一点?

【问题讨论】:

  • 无论jdbc url (jdbc:postgresql://< server ip here >:5432/ 在哪里出现,只需将数据库名称附加到该 url 字符串即可。如果它不会改变,那么在将数据库名称附加到 url 后你不应该遇到问题。

标签: spring postgresql spring-boot configuration datasource


【解决方案1】:

将此添加到您的 application.properties 文件中

spring.jpa.hibernate.ddl-auto=create\update\none
spring.datasource.url=jdbc:postgresql://host:port/db
spring.datasource.username=username
spring.datasource.password=password

【讨论】:

  • Vikram...通过指定 spring.datasource.url=jdbc:postgresql://host:port/db .. 应用程序工作。请再次阅读问题以了解我想要如何实施。
【解决方案2】:
【解决方案3】:

我终于以这种方式实现了它。

在我的应用程序中仅指定数据库名称并在单独的 Spring Boot 应用程序中创建 Datasource bean(以便它也可以在其他项目中重用)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-04
    • 2018-03-30
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多