配置文件中系统环境变量存在特殊字符
非衣鲲化 人气:1配置文件中系统环境变量存在特殊字符的处理
SpringBoot的配置文件中使用系统环境变量作为外部配置的时候,如果出现特殊字符,比如Mysql密码等,只需要在系统环境变量中添加反斜杠(\)即可,不需要例会env/echo命令打印的环境变量,
例如
spring: cloud: service-registry: auto-registration: enabled: false jpa: open-in-view: true show-sql: false datasource: url: jdbc:mysql://**** username: abc password: ${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配置文件时,有时候需要配置一些特殊字符会有问题,如:
解决办法
增加单引号引入需要配置的内容:
问题解决。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容