SpringBoot配置文件中系统环境变量存在特殊字符的处理方式

目录

  • 配置文件中系统环境变量存在特殊字符的处理
    • 例如
  • yml配置文件的处理特殊字符
    • 解决办法

配置文件中系统环境变量存在特殊字符的处理 SpringBoot的配置文件中使用系统环境变量作为外部配置的时候,如果出现特殊字符,比如Mysql密码等,只需要在系统环境变量中添加反斜杠(\)即可,不需要例会env/echo命令打印的环境变量,
【SpringBoot配置文件中系统环境变量存在特殊字符的处理方式】
例如
spring:cloud:service-registry:auto-registration:enabled: falsejpa:open-in-view: trueshow-sql: falsedatasource:url: jdbc:mysql://****username: abcpassword: ${PASSWORD:abc}

环境变量${PASSWORD}含有特殊字符,PASSWORD=abc#98rrE,只需在#号前加反斜杠(\)即可。
$ export PASSWORD=abc\#98rrE

虽然env/echo命令打印出来的依然看不到反斜杠(\),但是SpringBoot中已经生效。
SpringBoot会将整串环境(PASSWORD=abc\#98rrE)读进内存进行处理。
$ export PASSWORD=abc\#98rrE$ echo ${PASSWORD}$ abc#98rrE


yml配置文件的处理特殊字符 当我们使用yml配置文件时,有时候需要配置一些特殊字符会有问题,如:
SpringBoot配置文件中系统环境变量存在特殊字符的处理方式
文章图片


解决办法
增加单引号引入需要配置的内容:
SpringBoot配置文件中系统环境变量存在特殊字符的处理方式
文章图片

问题解决。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读