当前位置: 首页 > 知识库问答 >
问题:

Spring引导读取应用程序属性内部的环境变量

房时铭
2023-03-14

因此,我一直在试图弄清楚如何在两个应用程序中使用环境变量。属性或application.yaml。由于这在无数的框架中都能工作(例如Laravel),所以我认为这在Spring Boot中也能工作。现在我发现,情况并非如此。

我看到一篇关于Spring Environment API的帖子,它开始说环境变量SPRING_DATASOURCE_URL将等同于在我的应用程序中设置spring.datasource.url。但是,这对我来说也不起作用。

是否有任何快速的方法允许使用在. env文件中声明的变量?

我希望在应用程序中像这样使用它。属性(如果可能)spring.datasource.url=jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME}

共有1个答案

宋畅
2023-03-14

。env是Python的一种方式。如果使用spring cloud,可以从configServer读取env变量,然后将它们注入application.properties。

  1. 在 pom 中添加一些依赖项.xml

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
spring:
  cloud:
    config:
      fail-fast: true
      uri: http://[config-server-git]
      name: cc
      profile: config
      label: maste

定义一个名为 cc-config.properties 的文件,并将其推送到 config-server git 中。env 变量在此属性中写入。

使用以下方式运行应用程序 jar

java -jar [your-application-jar] --spring.cloud.bootstrap.location=myBootstrap.yml
 类似资料:
  • 我必须得到一个环境变量,我不能注射。 我无法注入环境中的basUrl。 有人能告诉我怎么做吗? 我读了以下几页,我是初学者,因为我什么都不懂。https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.htmlhttps://www.mkyong.com/spring-bo

  • 我有一个Jenkins的工作,在那里我执行了一个Groovy脚本。从那个Groovy脚本中,我向另一个应用程序发出POST请求。我的Jenkins服务器和应用程序在不同的机器上。我需要从应用程序的代码中访问Jenkins环境变量。这可能吗? 我尝试使用System.getenv("ENVIRONMUT-VARIABLE-NAME")方法检索环境变量,但返回的结果为null。

  • 问题内容: 我对spring / java相当陌生,并且一直在为我正在工作的项目检查spring- boot。我一直在遵循指南,最后有一个(半)运行中的Web应用程序MVC + JPA用于数据访问。当我通过Jar方法部署应用程序时,一切正常: 但是,我们的应用程序最终将部署到Tomcat(v7.0.40),因此我需要从项目中创建一个war文件。我已经在spring.io网站上遵循了将jars转换为

  • src/main/resources/application.properti 为了完整起见,这里是build.gradle: 我构建应用程序:

  • 我知道Spring Boot应用程序可以作为war文件部署到生产环境中。但是部署spring boot应用程序的典型方式是什么?它只需要jvm而不需要容器吗?

  • 我正在运行一个springboot应用程序,它需要信任我在本地信任库中添加的证书。现在我将它设置在intellij中的运行配置选项下,它有效。ex- 我想知道有没有办法从应用程序设置它。以我们设置spring属性的方式在springboot中创建属性文件?