如何在我的 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 环境属性中设置了数据库配置(URL
、UserName
、Password
)。
现在如何在我的 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 中从泛型参数(与任何类无关)中获取值