Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


Spring Boot 配置文件读取系统环境变量

Spring Boot 大约 796 字

规则

  1. 使用下划线_代替点.
  2. 删除中划线-
  3. 转为大写

使用大写字母、数字、下划线组成的键,可以读取系统环境变量。

示例

spring.main.log-startup-info转为SPRING_MAIN_LOGSTARTUPINFO

默认值

使用:分隔,冒号后面的是默认值。

ENV_KEY_1: ${JAVA_HOME}
ENV_KEY_2: ${MY_ENV_2:this is default value env2}
ENV_KEY_3: ${MY_ENV_3:this is default value env3}

Docker -e

Spring Boot项目运行在Docker环境中时,docker run指定env就可以在配置文件中正确解析。

Dockerfile

FROM openjdk:11-oraclelinux8
WORKDIR /app
COPY target/myapp.jar /app/app.jar
CMD ["java", "-jar", "/app/app.jar"]

build

docker build -f ./Dockerfile myapp:1.0 .

run

docker run -d \
--name myapp \
-p 8080:8080 \
-e MY_ENV_2="this is my env2" \
-e MY_ENV_3="this is my env3" \
myapp:1.0

参考

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.external-config.typesafe-configuration-properties.relaxed-binding.environment-variables

阅读 35 · 发布于 2022-09-20

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批