在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 配置以进行硒测试