1. 程式人生 > >@Value讀取properties型別錯誤:Invalid boolean value [${spring.datasource.testWhileIdle}]

@Value讀取properties型別錯誤:Invalid boolean value [${spring.datasource.testWhileIdle}]

昨天在開發過程中,遇到一個比較無語的問題:重新拉一份程式碼搭框架,在啟動的時候讀取properties配置檔案報型別轉換錯誤,因為程式碼是一樣的,所以排除程式碼的問題,在百度谷歌搜尋了一遍沒有找到能夠解決的辦法。現已解決,給大家分享解決辦法,希望能幫助各位。

先貼上報錯資訊:
Unsatisfied dependency expressed through field 'testWhileIdle'; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'boolean'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [${spring.datasource.testWhileIdle}]

我們可以看到,報錯資訊給我們的提示是,String轉Boolean型別錯誤。

這裡寫圖片描述

這裡使用了spring的@Value註解,我在配置檔案中填的是 true。

後來我對讀到的引數進行強轉型別,依舊報錯。可以確定取到的值是不正確的

經過測試,讀取值,發現讀取到的值為 spring.datasource.testWhileIdle 而不是 true (spring在讀取配置檔案時,如果不能讀取到,@Value取到的值就是括號裡面的值,有點坑。)

我們可以斷定未載入properties成功。

知道了讀取不到的真正原因之後,其實再去搜索問題就比較簡單了。

eclipse解決方案:由於eclipse配置原始碼excludes過濾掉了application.properties或application.yml造成的,具體位置在: Project Properties --> Java Build Path --> Source(tab) --> Source folders on build path: [Exclusion section]

目前在idea裡的配置我還不太清楚,我用的是idea,最後通過pom.xml解決問題
這裡寫圖片描述

引入properties,最終解決。

相關推薦

@Value讀取properties型別錯誤Invalid boolean value [${spring.datasource.testWhileIdle}]

昨天在開發過程中,遇到一個比較無語的問題:重新拉一份程式碼搭框架,在啟動的時候讀取properties配置檔案報型別轉換錯誤,因為程式碼是一樣的,所以排除程式碼的問題,在百度谷歌搜尋了一遍沒有找到能夠解決的辦法。現已解決,給大家分享解決辦法,希望能幫助各位

nginx錯誤invalid PID number

nginx今天修改了nginx的反向代理配置文件 然後 /usr/local/nginx/sbin/nginx -s reload 的時候出現了以下錯誤 解決辦法: nginx錯誤:invalid PID number

myBatis的binding錯誤Invalid bound statement (not found)

per HERE state gui bean ESS dao 錯誤 java org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)錯誤這個問題我找了好久,終於找到了正

mybatis的錯誤invalid comparison: java.util.Date and java.lang.String

  原始碼: <if test="CREATE_TIME!=null and CREATE_TIME!=' '  ">          #{CREATE_TIME}&l

Tomcat 8.5 400錯誤Invalid character found in the request target. 問題解決方法

最近部署專案的時候,由於MIS配置的是Tomcat 8.5的服務端,導致Web應用不正常,報HTTP 400錯誤(Chrome無異常、IE報錯)。問題原因初步判斷為8.5版本的服務端接收請求不會對符號進行轉義,Chrome不異常的原因或許是瀏覽器自身轉義了。具

mybitis繫結錯誤Invalid bound statement (not found): com.bt.mapper.UserMapper.queryUserList

這個問題是:mybitis繫結錯誤,找不到queryUserList方法,這個問題找了好久,終於發現錯誤了。 首先:對於mybitis繫結錯誤,常用解決方法,其他地方都有寫,我這裡記錄的是我出錯的原因及解決方法。 我錯誤的原因是pom.xml檔案中少兩個包,如下圖所示:

SpringMVC key-value讀取properties配置檔案

環境:IDEA 2018.1 1、專案結構如圖 其中,配置的檔案包括User、MainController、info.properties、springmvc.xml,都是手動建立,最後一個在xml configuration file中選為了spring config。 第一步&

Mybatis框架的錯誤Invalid bound statement not found

1.mapper的namespace寫的不對!!!注意系修改。 2.UserDao的方法在UserDao.xml中沒有,然後執行UserDao的方法會 報此錯誤 3.UserDao的方法返回值是List,而select元素沒有正確配置 R

mybatis錯誤Invalid bound statement (not found)

今天嚮往常一樣搭建一個spring-mybatis專案時,由於一開始dao 的路徑寫錯了,於是手動修改路徑,直接建立了一個叫com.XX.XX.XX的路徑。啟動專案的時候,總是報錯。Exception in thread "main" java.lang.RuntimeExc

maven 錯誤讀取 xxx.jar 時出錯;invalid LOC header (bad signature) 1 錯誤

  reqHeader:{Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, Upgrade-Insecure-Requests=1, Connection=keep-alive, User-Agen

在用c++讀取xml檔案時,執行時出現以下錯誤出現未處理的“System.Xml.XmlException”型別的異常出現在 system.xml.dll 中

各位高手,我剛剛開始接觸c++,使用的是Microsoft Visual Studio 2003版本,在使用c++讀取xml檔案時,編譯已經通過,但是執行.exe程式時,老是出現這個錯誤:“未處理的“System.Xml.XmlException”型別的異常出現在 syste

freemarker 不支援 boolean 型別 Templates do break when an attribute contains a boolean value

If in a template <td>${attribute.value}</td> is used, and value is boolean, the following exception is thrown:freemarker.core.NonStringExceptio

MyBatis錯誤The server time zone value '?泄???????' is unrecognized or represents more t

mysq exce xxxxx 解決 技術 name 差異 錯誤 href 原文地址:http://blog.csdn.net/oppo5630/article/details/52162783 解決java.sql.SQLException: The server ti

.NET 通過entity framework報數據庫連接錯誤ORA-01017: invalid username/password; logon denied

ces lse rac string lec oca policy system 得到 如題,答案為:【ORA-01017】.NET程序連接數據庫失敗 轉載文章內容如下: 遇到問題 使用 C#/.NET 開發的一個客戶端程序,需要連接 ORACLE 數據庫,使用 O

springBoot使用@Value標簽讀取*.properties文件的中文亂碼問題

格式 @value logs 使用 utf path 代碼 ima pat 上次我碰到獲取properties文件中的中文出現亂碼問題。 查了下資料,原來properties默認的字符編碼格式為asci碼,所以我們要對字符編碼進行轉換成UTF-8格式 原先代碼:@Prop

python 讀取資料出現UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid contin

之前寫程式時也出現過類似錯誤,每次解決了到第二次遇見又忘了具體方法,這次記錄一下。 一、字元編碼問題 先介紹一下字元編碼問題 1.ASCLL與GB2312 由於計算機是美國人發明的,因此,最早只有127個字元被編碼到計算機裡,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為

error A2070invalid instruction operands 錯誤原因

最近在做彙編的實驗,經常遇到 error A2070:invalid instruction operands 這個錯誤,所以查了查資料,整理一下。 一般情況下,出現這種情況,十有八九是 MOV 傳值 的時候發生錯誤了。沒有考慮 源運算元 和 目標運算元 的長度匹

mybatis多資料來源錯誤org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

使用Spring Boot2.0整合mybatis多資料來源遇到如下錯誤 錯誤資訊: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.boot.mapper.one.Sc

SVN 錯誤 請求的名稱有效,但是找不到請求的型別,我的解決辦法

今天在用SVN更新程式碼的時候,出現了  “請求的名稱有效,但是找不到請求的型別  “的錯誤,就是連線不上,百度了一下,原來我的程式碼的URL比如:http://李陽-pc/svn/程式碼/  這種樣式的,我將李陽-pc改為他的IP地址,在工作資料夾的根目錄上右鍵-&g

啟動Hadoop 2.8.5遇到的錯誤The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.

問題:   yarn-site.xml配置: <?xml version="1.0"?> <configuration> <property> <name>yarn.resourcemanager