亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

@Value設置默認值后,獲取不到配置值的原因分析

 更新時間:2023年07月29日 08:43:26   作者:誤入歧途的羔羊  
這篇文章主要介紹了@Value設置默認值后,獲取不到配置值的原因,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@Value設置默認值后,獲取不到配置值

當前使用版本:Spring Framework version is 5.2.5.RELEASE

解析@Value的代碼位置

org.springframework.beans.factory.support.AbstractBeanFactory#resolveEmbeddedValue

image

假設配置了

@value("${server.servlet.context-path:/}")

1、當存在多個值解析器時,如果第一個解析器獲取不到配置項(server.servlet.context-path)的值,那么resolveStringValue方法將返回默認值(本例中既是 /)

2、上一個值解析器的返回值,作為下一個值解析器resolveStringValue的參數(shù)傳遞進去。因此,即使第二個值解析器有配置了值,那么也不可能進行正確的解析了,這導致了結果始終返回默認值

@Value注解獲取配置信息時提示 Could not resolve placeholder ‘xxx‘ in value “${xxx}“

問題的原因很簡單,就是獲取不到配置信息

解決方法

先檢查一下配置文件是否存在,注意不同環(huán)境使用不同配置文件的情況。

再檢查配置文件中是否有這個配置屬性,如果沒有,可以在配置文件中加上該配置屬性,也可以在@Value引入到屬性名后加上冒號,表示在獲取不到配置信息賦予默認值,比如下面獲取不到my.name配置信息時 myName 的值為空字符串

@Value("${my.name:}")
String myName;

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論