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

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

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

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配置文件时,有时候需要配置一些特殊字符会有问题,如:

解决办法

增加单引号引入需要配置的内容:

问题解决。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot加密配置文件特殊内容的示例代码详解

    有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp.数据库连接信息.支付信息等敏感隐私信息,如下 ​ 这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商.公安.安检平台.滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******.那就把图中的明文改造下1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库 <dependency> &l

  • SpringBoot处理请求参数中包含特殊符号

    今天写代码遇到了一个问题,请求参数是个路径"D:/ExcelFile",用postman测试时遇到的下图中的报错 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986   at org.apache.coyote.http11.Http11InputBuffer

  • springboot读取自定义配置文件时出现乱码解决方案

    目录 网上提供的解决方案也不外乎这几种 方案一 方案二 方案三 方案四 方案五 方案六 这是入门的第三天了,从简单的hello spring开始,已经慢慢接近web的样子.接下来当然是读取简单的对象属性了. 于是按照网上各位大神教的,简单写了个对象book,其他配置不需要做任何改动. package com.example.bean; import org.springframework.beans.factory.annotation.Value; import org.springframe

  • 如何解决springboot读取配置文件的中文乱码问题

    在application.properties中填写中文信息,在读取该文件时会出现中文乱码问题. 比如:application.properties内容: student.name=小康 student.age=15 解决方法:我用的是IDEA,首先File->settings->Code style->File Encoding 把所有的编码都设为UTF-8就好了. 再次运行,得出正常结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

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

    目录 配置文件中系统环境变量存在特殊字符的处理 例如 yml配置文件的处理特殊字符 解决办法 配置文件中系统环境变量存在特殊字符的处理 SpringBoot的配置文件中使用系统环境变量作为外部配置的时候,如果出现特殊字符,比如Mysql密码等,只需要在系统环境变量中添加反斜杠(\)即可,不需要例会env/echo命令打印的环境变量, 例如 spring: cloud: service-registry: auto-registration: enabled: false jpa: open-in

  • 关于springboot 配置文件中属性变量引用方式@@解析

    这种属性应用方式是 field_name=@field_value@. 两个@符号是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以应该是起不到引用变量的作用. @@方式可以引用springboot非默认配置文件(即其他配置文件)中的变量: springboot默认配置文件是 src/main/resources/application.properties 补充知识:springboot项目使用@Value注解获取配置文件中的配置信息 application

  • springboot配置文件中使用${}注入值的两种方式小结

    目录 配置文件中使用${}注入值方式 在springboot中使用System.setProperty设置参数 配置文件自扫描 spring配置文件${}的用法 话不多说直接看就完事了 配置文件中使用${}注入值方式 在springboot中使用System.setProperty设置参数 user:   user-name: ${username}   age: ${age} 配置文件是这种写法,我们可以用System.setProperty来设置参数,System.setProperty相当

  • 浅析Nginx配置文件中的变量的编写使用

    nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序.当然,是不是"图灵完全的"暂且不论,至少据我观察,它在设计上受 Perl 和 Bourne shell 这两种语言的影响很大.在这一点上,相比 Apache 和 Lighttpd 等其他 Web 服务器的配置记法,不能不说算是 Nginx 的一大特色了.既然是编程语言,一般也就少不了"变量"这种东西(当然,Haskell 这样奇怪的函数式语言除外了).

  • SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密. 介绍两种加密方式:jasypt 可加密配置文件中所有属性值; druid 自带了加解密,可对数据库密码进行加密. jasypt 加解密 jasypt 是一个简单易用的加解密Java库,可以快速集成到 Spring 项目中.可以快速集成到 Spring Boot 项目中,并提供了自动配置,使用非常简单. 步骤如下: 1)引入maven依赖 <de

  • SpringBoot 配置文件中配置的中文,程序读取出来是乱码的解决

    配置文件中是正常显示的中文,但是spring读取到的确是乱码. 我总共有两种解决办法, 第一种方法: 先复制或者备份一下你的配置文件的所有字符,打开设置将transparent native-to-ascii conversion选中,然后返回将之前的配置文件重新粘贴一遍(一定要将中文重新打一遍)如图: Transparent native-to-ascii conversion的意思是:自动转换ASCII编码. 他的工作原理是:在文件中输入文字时他会自动的转换为Unicode编码,然后在ide

  • SpringBoot配置文件中密码属性加密的实现

    目录 背景 集成jasypt-spring-boot到项目中 配置文件配置加密与读取 工作原理简析 使用自定义的加密算法 结语 本文主要介绍了SpringBoot配置文件中的明文密码如何加密保存,读取以及对于自定义的加密算法加密的参数如何保存和读取. 背景 为了安全的需要,一些重要的信息比如数据库密码不能明文保存在配置文件中,需要进行加密之后再保存.SpringBoot可以使用jasypt-spring-boot这个组件来为配置属性提供加密的支持. 集成jasypt-spring-boot到项目

  • TensorFlow 输出checkpoint 中的变量名与变量值方式

    废话不多说,直接看代码吧! import os from tensorflow.python import pywrap_tensorflow model_dir="/xxxxxxxxx/model.ckpt" #checkpoint的文件位置 # Read data from checkpoint file reader = pywrap_tensorflow.NewCheckpointReader(model_dir) var_to_shape_map = reader.get_v

  • SpringBoot如何读取配置文件中的数据到map和list

    目录 读取配置文件中的数据到map和list springboot读取配置文件中的配置信息到map springboot读取配置文件中的配置信息到list 测试上述配置是否有效 配置文件的读取(包括list.map类型) 读取配置文件 第一种方式 第二种方式 扩展 读取配置文件中的数据到map和list 之前使用过@Value("${name}")来读取springboot配置文件中的配置信息,比如: @Value("${server.port}") private

  • 详解SpringBoot配置文件启动时动态配置参数方法

    序言 当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活 例子 server: port: ${PORT:50101} #服务端口 spring: application: name: xc‐govern‐center #指定服务名 eureka: client: registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中 fetchReg

随机推荐