使用@ConfigurationProperties注解獲取為null的解決方法
一、問題描述
通過get方法去取值一直為null。代碼如下:
@Component
@ConfigurationProperties(prefix = "file")
public class ServiceConfig {
/**
* windows上傳路徑
*/
private static String winUploadPath;
public static String getWinUploadPath() {
return winUploadPath;
}
public static void setWinUploadPath(String winUploadPath) {
ServiceConfig.winUploadPath = winUploadPath;
}
}
application.yml配置:
file: winUploadPath: D:/opt/tongue/uploadPath
二、解決過程
過程一
剛開始一直ide彈這個(gè)框,以為是這個(gè)問題。

然后搜了資料,有的說下面依賴是生成配置元信息,不引入yml文件就失效了
于是引入之后并沒有效果??!
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
過程二
不要在application.yml/properties文件中使用camel大小寫。盡量用-分割。
我看了一下原生框架的配置,發(fā)現(xiàn)人家確實(shí)沒大小寫,于是改了仍然沒有用。
過程三(成功解決!)
因?yàn)橄氲氖侵苯荧@取屬性,所以都是設(shè)置的static,包括set方法。于是set方法去除掉static后 成功解決。
三、總結(jié)
set方法被static 修飾無法獲取到值?。?!
不過盡量咱們也規(guī)范點(diǎn)不要在application當(dāng)中區(qū)分大小寫,盡量用- 。
用橫杠的話,其實(shí)在java文件當(dāng)中,他是會(huì)自動(dòng)轉(zhuǎn)換的。
我最終改成了這樣,發(fā)現(xiàn)在java文件當(dāng)中的winUploadPath屬性照樣可以讀到值。
file: win-upload-path: D:/opt/tongue/uploadPath
到此這篇關(guān)于使用@ConfigurationProperties注解獲取為null的解決方法的文章就介紹到這了,更多相關(guān)@ConfigurationProperties獲取為null內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot集成Elasticsearch 報(bào)錯(cuò) Health check failed的解決
這篇文章主要介紹了springBoot集成Elasticsearch 報(bào)錯(cuò) Health check failed的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
關(guān)于MyBatisSystemException異常產(chǎn)生的原因及解決過程
文章講述了在使用MyBatis進(jìn)行數(shù)據(jù)庫操作時(shí)遇到的異常及其解決過程,首先考慮了事務(wù)問題,但未解決,接著懷疑是MyBatis的一級(jí)緩存問題,關(guān)閉緩存后問題依舊存在,最終發(fā)現(xiàn)是SQL映射文件中的參數(shù)傳遞錯(cuò)誤,使用了錯(cuò)誤的標(biāo)簽導(dǎo)致循環(huán)插入2025-01-01
Spring?Boot日志SLF4J和Logback示例詳解
這篇文章主要介紹了Spring?Boot日志SLF4J和Logback詳解,Logback相比于Log4j,性能提高了10倍以上的性能,占用的內(nèi)存也變小了,并且文檔十分詳細(xì),推薦使用Slf4j+Logback,需要的朋友可以參考下2023-07-07
intellij idea14打包apk文件和查看sha1值
這篇文章主要為大家詳細(xì)介紹了intellij idea14打包apk文件和查看sha1值,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
Java之HashMap.values()轉(zhuǎn)List時(shí)的錯(cuò)誤和正確演示
這篇文章主要介紹了Java之HashMap.values()轉(zhuǎn)List時(shí)的錯(cuò)誤和正確演示,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Java學(xué)習(xí)手冊之Filter和Listener使用方法
這篇文章主要介紹了Java學(xué)習(xí)手冊之Filter?和?Listener使用方法的相關(guān)資料,Filter是一種攔截器,可以在請求到達(dá)Servlet之前或響應(yīng)返回客戶端之前對請求和響應(yīng)進(jìn)行攔截和處理,Listener用于監(jiān)聽JavaWeb應(yīng)用中的各種事件,需要的朋友可以參考下2025-04-04
SpringBoot整合Redis將對象寫入redis的實(shí)現(xiàn)
本文主要介紹了SpringBoot整合Redis將對象寫入redis的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06

