如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量

Posted

技术标签:

【中文标题】如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量【英文标题】:How to access Environment Variable from AWS in my spring boot application 【发布时间】:2018-02-15 20:47:11 【问题描述】:

我正在开发部署在 AWS 上的应用程序。我在 AWS 环境属性中设置了数据库配置(URLUserNamePassword)。

现在如何在我的 Spring Boot 应用程序中访问这些变量?

我的application.properties 文件如下所示:

spring.datasource.driver-class-name = <DRIVER>
spring.datasource.url = <URL>
spring.datasource.username = <USERNAME>
spring.datasource.password = <PASSWORD>

注意:目前我正在从application.properties 文件访问数据库详细信息

【问题讨论】:

【参考方案1】:

要在 spring boot application.properties 中使用环境变量,您可以使用通常的 Spring 占位符表示法:

spring.datasource.url = $JDBC_CONNECTION:default_value_connection

进一步说明: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-placeholders-in-properties

您可以在 AWS Elastic beanstalk 中设置 JDBC_CONNECTION 值。如果未设置 JDBC_CONNECTION 环境变量,它将使用'default_value_connection'

【讨论】:

我刚刚对此进行了测试以确保:如果您的数据源 url 类似于“jdbc:mysql://endpoint/db”,这仍然有效。 JDBC_CONNECTION:jdbc:mysql://endpoint/db

以上是关于如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 中从应用程序属性文件中读取 jpa 命名查询?

如何在 Spring Boot 中从端点响应中全局省略空 xml 标记?

在 Eclipse 中从 Spring:boot 项目创建 war 文件

如何在 Spring Boot 中从泛型参数(与任何类无关)中获取值

为啥我在 Spring Boot 中从服务器端配置并做出反应时出现 CORS 错误?

如何在 Spring Boot 应用程序中从数据库表中填充实体