SpringBoot2.x配置文件使用占位符的几种方式

方式一

application.yml/properties配置文件内可以直接使用占位符来进行配置的相互引用,如下所示:

#自定义的属性,引用了spring.application.name
guo:
  name: ${spring.application.name}

spring:
  application:
    name: sc-gateway-application

在上面的配置中,name配置直接引用了spring.application.name的配置值,这样我们在系统中通过@Value("${guo.name}")或者通过@ConfigurationProperties方式使用时,得到的值都为sc-gateway-application

方式二

占位符——形如:${guo.name} 是一种灵活的配置方式,可以让我们很灵活的使用配置参数,这种方式可以从Environment内获取对应的配置值。

在实际部署应用程序时,有很多通过命令行参数方式实现配置是动态,不过SpringBoot所提供的配置参数名称都比较长,对此我们完全可以利用占位符配置方式实现自定义参数名。

占位符是从Environment内读取对应的配置值,而命令行参数在应用程序启动时会被一并加入到Environment中,因此也就实现了占位符动态配置,其实这个“短”的含义,是你定义的新的配置名称比较短而已。

假设我们的guo.name值需要动态指定,我们自定义一个短变量名称my-name,配置文件改为:

#自定义的属性,引用了spring.application.name
guo.name=${my-name:erbadagang}

在运行前,配置my-name的值为trek
配置测试方法的环境变量
运行返回:configname = trek
实际运行中多数是使用jar命令启动,所以上图配置方法的等同: java -jar project-1.0.0.SNAPSHOT.jar --my-name=trek

方式三

在这里插入图片描述
像上图红色标注的,都会被完整的替换为根目录,这样在安装项目时,只需修改一处就行了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值