@Value設(shè)置默認(rèn)值后,獲取不到配置值的原因分析
@Value設(shè)置默認(rèn)值后,獲取不到配置值
當(dāng)前使用版本:Spring Framework version is 5.2.5.RELEASE
解析@Value的代碼位置
org.springframework.beans.factory.support.AbstractBeanFactory#resolveEmbeddedValue
假設(shè)配置了
@value("${server.servlet.context-path:/}")
1、當(dāng)存在多個(gè)值解析器時(shí),如果第一個(gè)解析器獲取不到配置項(xiàng)(server.servlet.context-path)的值,那么resolveStringValue方法將返回默認(rèn)值(本例中既是 /)
2、上一個(gè)值解析器的返回值,作為下一個(gè)值解析器resolveStringValue的參數(shù)傳遞進(jìn)去。因此,即使第二個(gè)值解析器有配置了值,那么也不可能進(jìn)行正確的解析了,這導(dǎo)致了結(jié)果始終返回默認(rèn)值
@Value注解獲取配置信息時(shí)提示 Could not resolve placeholder ‘xxx‘ in value “${xxx}“
問(wèn)題的原因很簡(jiǎn)單,就是獲取不到配置信息
解決方法
先檢查一下配置文件是否存在,注意不同環(huán)境使用不同配置文件的情況。
再檢查配置文件中是否有這個(gè)配置屬性,如果沒(méi)有,可以在配置文件中加上該配置屬性,也可以在@Value引入到屬性名后加上冒號(hào),表示在獲取不到配置信息賦予默認(rèn)值,比如下面獲取不到my.name配置信息時(shí) myName 的值為空字符串
@Value("${my.name:}") String myName;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 關(guān)于@Value注入List,Map及設(shè)置默認(rèn)值問(wèn)題
- 在SpringBoot中使用@Value注解來(lái)設(shè)置默認(rèn)值的方法
- @Value如何設(shè)置默認(rèn)值
- Spring中@Value設(shè)置默認(rèn)值問(wèn)題解決
- SpringBoot的@Value注解如何設(shè)置默認(rèn)值
- Springboot @Value注入boolean設(shè)置默認(rèn)值方式
- Spring @Value 設(shè)置默認(rèn)值的實(shí)現(xiàn)
- 給@Value設(shè)置默認(rèn)值以及為static變量賦值問(wèn)題
相關(guān)文章
如何解決SpringMVC不能訪問(wèn)html頁(yè)面
這篇文章主要介紹了如何解決SpringMVC不能訪問(wèn)html頁(yè)面問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能
這篇文章主要為大家詳細(xì)介紹了SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08詳解Lombok安裝及Spring Boot集成Lombok
這篇文章主要介紹了詳解Lombok安裝及Spring Boot集成Lombok,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03java使用mysql預(yù)編譯語(yǔ)句查詢優(yōu)勢(shì)及示例詳解
這篇文章主要為大家介紹了java使用mysql預(yù)編譯語(yǔ)句的優(yōu)勢(shì)特點(diǎn)及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06SpringBoot整合sharding-jdbc實(shí)現(xiàn)分庫(kù)分表與讀寫分離的示例
本文主要介紹了SpringBoot整合sharding-jdbc實(shí)現(xiàn)分庫(kù)分表與讀寫分離的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11java判定數(shù)組或集合是否存在某個(gè)元素的實(shí)例
下面小編就為大家?guī)?lái)一篇java判定數(shù)組或集合是否存在某個(gè)元素的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01java分頁(yè)之假分頁(yè)實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)器
這篇文章主要介紹了java分頁(yè)之假分頁(yè)實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)器的相關(guān)資料,需要的朋友可以參考下2016-04-04SpringBoot?@Configuration與@Bean注解使用介紹
這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手2022-10-10Java將文件夾保留目錄打包為 ZIP 壓縮包并下載的教程詳解
這篇文章主要介紹了Java將文件夾保留目錄打包為 ZIP 壓縮包并下載的教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08HelloSpringMVC配置版實(shí)現(xiàn)步驟解析
這篇文章主要介紹了HelloSpringMVC配置版實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09