Application.yaml:值註釋無法找到一個值,如果它是一個數字
request.delay.ms: 200
彈簧組件:
@Value("${request.delay.ms}")
private long requestDelay;
現在,奇怪的,因爲它聽起來,它看起來像Spring能如果它的值是一個字符串,則成功解析屬性,即,如果我將200
更改爲200a
。它的確會拋出一個錯誤 Caused by: java.lang.NumberFormatException: For input string: "200a"
但這是預期的。
如果我更改值回200
我得到 Caused by: org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'long'; nested exception is java.lang.NumberFormatException: For input string: "${request.delay.ms}"
如果我在調試模式下運行Tomcat,並通過彈簧執行代碼,它工作正常,沒有錯誤。
字符串@Value(s)在同一個組件中一直處於良好狀態。
請發佈一個最簡單,完整且可驗證的示例。 –
Total guess:'request.delay.ms:「200」'? –
這適合我。 –