在Spring Boot的application.properties中使用环境变量

Posted BlingblingFu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Spring Boot的application.properties中使用环境变量相关的知识,希望对你有一定的参考价值。

在Spring Boot的application.properties中使用环境变量

在Terminal中,输入env就会得到当前终端的环境变量。

在开发软件的过程中,有些值是需要随着环境改变的,比如数据库的IP端口,用户名等。我们不能把这些值硬编码进入代码中,再打包成jar包,这样使用起来是很不方便的。所以我们需要env,在启动jar包的时候传入变量。

application.properties中,我们只需要使用${变量名}就可以声明一个使用环境变量的值,比如

server.port=${SERVER_PORT}

如果想向这个值声明一个默认值,以确保未在环境变量中找到此值时不会出错,使用${变量名:默认值}即可,比如

server.port=${SERVER_PORT:8080}

在开发中,使用IntelliJ IDEA修改启动配置,即可在开发环境中对这些变量进行配置。

点击Environment Variables编辑栏最右侧的按钮,就可以对多个环境变量进行设置:

如果这样,将项目构建成Docker镜像时,需要在Dockerfile中新增Env变量:

ENV mysql_DB_HOST='127.0.0.1' MYSQL_DB_PORT=3306 MYSQL_DB_USERNAME='root'

在启动容器时,需要使用-v参数来声明环境变量,或者在docker-compose文件中声明environment来实现对环境变量的正确赋值。

以上是关于在Spring Boot的application.properties中使用环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何 JUnit 测试 Spring-Boot 的 Application.java

Spring boot 学习 四:spring boot 配置文件 application.yml

Spring Boot中application.properties和application.yml文件

如何在 spring-boot 配置中加载 application.yaml 配置以进行硒测试

如何在spring-boot中添加多个application.properties文件?

Spring Boot2 系列教程理解Spring Boot 配置文件 application.properties