springboot配置文件加载配置动态值,利用环境变量

利用设置环境变量,可以实现springboot在配置文件中加载动态值,配置文件中读取环境变量值的写法 ${环境变量名: 默认值} ,在双引号""中 也能生效
例如
在springboot启动加载的配置文件application.properties 中

testenv=${myenv:a default value}

测试类TestController

@RestController
public class TestController {

    @Value("${testenv}")
    String test;

    @RequestMapping("/test")
    public String test(){
        return "" + test;
    }
}

这时我还没有在系统环境变量中设置myenv,启动测试程序看到的现象是
浏览器输入 127.0.0.1:8080/test ,页面打印内容是默认值 a default value
在这里插入图片描述

在系统环境变量中新增环境变量 myenv 值为 123456
过程:右键我的电脑->属性->高级系统设置->环境变量->新建系统变量名myenv,值123456
在这里插入图片描述
重启开发的idea或eclipse 启动程序,再次浏览器输入 127.0.0.1:8080/test ,页面打印内容是环境变量中设置的值 123456
在这里插入图片描述

实际项目部署中的应用:
现在的微服务项目部署基本都是采用容器docker来部署,docker启动服务编排工具中我们可以很方便的设置环境达到动态设置项目加载动态配置。
例如,在Dokcerfile中可以用ENV 命令设置镜像中的环境变量

FROM openjdk:8
MAINTAINER xxx
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

ENV mysqlIp xxx.xxx.xx.xxx
ENV mysqlPort 3306
ENV mysqlUsername root
ENV mysqlPassword 123456

EXPOSE xxx
CMD xxx
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值