相关文章推荐
英勇无比的脸盆  ·  mysql REGEXP ...·  1 周前    · 
沉稳的火车  ·  java.io.IOException ...·  8 月前    · 
儒雅的硬币  ·  BELLE: Be Everyone‘s ...·  1 年前    · 
文章讲述了在SpringBoot的YML配置文件中遇到特殊字符导致识别问题的情况,相比.properties格式的配置文件,YML格式可能会遇到颜色显示异常和启动时报错。提出了三种解决方案:1)对特殊字符参数添加单引号;2)修改或去除特殊字符;3)更改为.properties格式的配置文件。这些问题同样存在于Spring框架的其他组件中。 摘要由CSDN通过智能技术生成

springBoot框架 yml配置文件中出现特殊字符问题是我最近才发现的一个问题,以前常用.properties 格式配置文件,没发现此现象,因此此格式的配置文件不存在这种问题,即使有特殊符号也可以正常识别;缓冲yml格式后就不能识别了。并且细心的人可以明显的发现配置文件有问题、显示现象如下:

明显发现颜色和其他的参数都不一致;并且启动时报找不到密码的错误。 对比.properties格式的文件,如下:

此处所有参数的颜色是一致的,并且启动时没有报错。找到原因了,那么怎么解决啊?

1、方案一:简单方便,把此参数加上单引号:  ' ',如下操作

2、方案二:如果可能的话,修改此此参数,主要是去掉特殊符号,如下操作:

3、方案三:把配置文件换成 .properties 格式的,是不是简单粗暴啊!

此三种方案最常用,肯定能解决你的问题,另外,准确的说不仅仅springBoot 框架有此种现象,spring 全家桶都存在此现象,解决方案是一致的!

Caused by: org. yaml .snake yaml .constructor.ConstructorException: Can't construct a java object for !QAZ2wsx; exception=Invalid tag: !QAZ2wsx 用单引号将 特殊字符 的值包起来,如下: password : '!QAZ2wsx' 重新启动即可正常运行。 .xml 配置文件 : <bean id="userDao" class="com.itlaobin.dao.impl.UserDaoImpl"></bean> <bean id="userService" class="com.itlaobin.service.impl.UserserviceImpl"> <property name="userDao" ref="userDao"></property>
博主在迁移一个老项目时,需要将properties修改为 yml ,碰到 yml 需要处理 特殊字符 的情况,现在总结如下 如果只是value 特殊字符 可以使用’'包住 spring : datasource: password: '#*1231' 如果是key也包含 特殊字符 ,处理方式如下 example: "[path/get]": asdfae 如果在[] 外面不添加双引号,则取出的值为[path/get] ,会把[]也输出 springboot 项目 ,需要对前端请求数据进行过滤,拦截 特殊字符 。 GET请求可以很方便的通过处理URL判断是否包含 特殊字符 ,POST类型请求需要对form-data/json特殊处理,使用@RequestBody注解的controller获取不到数据 原因分析: request 的getInputStream()方法和getReader()方法只能获取一次数据,通过@RequestBody注解再次获取getInputStream()拿到结果为空,此处通过重写getInputStr