關于springboot加載yml配置文件的no字段自動轉義問題
加載yml配置文件的no字段自動轉義
項目上線了才發(fā)現(xiàn)一個字段被轉義了,如下圖:
本來應該會拿到no字段和數(shù)據(jù)進行比對的,結果發(fā)現(xiàn)比對完的數(shù)據(jù)這個字段全是null,debug才發(fā)現(xiàn)這個字段這么寫在加載yml文件之后自動變成了"false",第一次發(fā)現(xiàn)這個問題,修改很方便,把yml文件里面這個no,換成'no'就可以不被轉義成"false"了,謹以此提醒,小錯誤導致臨時調整一次上線。。。。
springboot配置文件自動轉譯的坑
在使用SpringBoot配置文件時遇到的問題,當使用yaml作為配置文件時將batchEmail.task.switch 設置為 ON
#批量定時發(fā)送郵件配置 batchEmail: task: size: 1000 switch: ON
則在JAVA代碼中通過 @Value取值
@Value("${batchEmail.task.switch}") private String batchEmailTaskSwitch;
會得到自動轉譯的Boolean值
經過測試,若想取得字符串"ON" 須將配置文件做如如下修改
#批量定時發(fā)送郵件配置 batchEmail: task: size: 1000 switch: "ON"
ON加了雙引號后,取值正常
小結一下
約定大于配置,這是springboot最大的特點,所以在使用配置文件定義屬性時,應該嚴格遵循配置文件的格式要求,定義的字符串必須加雙引號,否則想yes、no、off、on之類的字符會被轉譯為Boolean串。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot?項目打成?jar后加載外部配置文件的操作方法
這篇文章主要介紹了SpringBoot?項目打成?jar后加載外部配置文件的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03SpringBoot?配置多個JdbcTemplate的實現(xiàn)步驟
本文介紹了在SpringBoot中配置多個JdbcTemplate的方法,包括創(chuàng)建項目、添加依賴、配置數(shù)據(jù)源和多個JdbcTemplate的使用,感興趣的可以了解一下2024-11-11Eclipse 開發(fā)java 出現(xiàn)Failed to create the Java Virtual Machine錯誤
這篇文章主要介紹了Eclipse 開發(fā)java 出現(xiàn)Failed to create the Java Virtual Machine錯誤解決辦法的相關資料,需要的朋友可以參考下2017-04-04