Yml乱码导致配置出错
问题记录单
是什么?
- 今天在帮室友进行后端环境检查,启动SpringBoot项目的时候,出现了以下错误:
1 | [D:\shixi\last02\demo\demo\target\classes\mapper\StudentMapper.xml] |
为什么?
一开始我认为是逻辑代码编写出错,进行了Controller Service Dao的正常排查,没有发现什么问题。
接着百度了一下,修改了mysql-connect-java版本,以为是mysql版本和前者版本兼容性出错,结果检查之后发现两者版本一致,没有问题。
application.yml中密码配置出错,使用了命令行登录mysql,这个密码没什么问题。
再去进行Mapper文件的排查,sql也没有问题,mapper文件resultType也没什么问题,添加了ResultMap之后还是报同样的错误,问题不在这里。
前端请求有问题?不可能,报错是数据库方面的。就算是前端有问题,那也应该是应用层和逻辑层方面。
最终,发现application.yml文件中有乱码问题存在:”# ???”,继续百度,发现了有个文件中写道yml配置文件乱码,而其spring.datasource.password设置的是数字,可能是进行值传递的时候,原本的密码被改成了其他样子,呵呵( ̄▽ ̄)。
怎么做?
- 将password用双引号**” “包裹即可,例如密码是:123,改为”123”**
反思
- 一定要特别注意乱码问题,尤其是涉及到配置文件,其中的一个乱码问题可能不易察觉的,同时可以让你的项目跑不起来。
- 观察配置文件其他位置因乱码有没有无法识别的字符,如果有就要小心了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 烟寒乂品!