使用@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彈這個框,以為是這個問題。
然后搜了資料,有的說下面依賴是生成配置元信息,不引入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è)置的static,包括set方法。于是set方法去除掉static后 成功解決。
三、總結(jié)
set方法被static 修飾無法獲取到值!?。?/p>
不過盡量咱們也規(guī)范點不要在application當(dāng)中區(qū)分大小寫,盡量用- 。
用橫杠的話,其實在java文件當(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集成分頁插件PageHelper的配置和使用過程
這篇文章主要介紹了SpringBoot集成分頁插件PageHelper的配置和使用過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Java實現(xiàn)ftp文件上傳下載解決慢中文亂碼多個文件下載等問題
這篇文章主要介紹了Java實現(xiàn)ftp文件上傳下載解決慢中文亂碼多個文件下載等問題的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-10-10FeignClient支持運行時動態(tài)指定URL方式
在實際開發(fā)中,我們經(jīng)常通過FeignClient接口調(diào)用三方API,當(dāng)面對不同的環(huán)境對應(yīng)不同的地址時,可以通過配置文件和占位符來切換,但在同一個環(huán)境中需要調(diào)用不同地址的相同接口時,這種方法就失效了,此時,可以通過實現(xiàn)RequestInterceptor接口來動態(tài)切換地址2024-11-11java基本教程之java線程等待與java喚醒線程 java多線程教程
這篇文章主要介紹了對線程等待/喚醒方法,文中使用了多個示例,大家參考使用吧2014-01-01