@ConfigurationProperties遇到的坑及解決
想著偷懶,直接使用@ConfigurationProperties(prefix=”xxx”)讀取配置文件,不使用@Value(“${xxx}”)去一個一個的註入。
遇到的坑:
創建完成類以後忘記生成set方法,導致啟動項目無法讀取配置文件;使用@Value(“${xxx}”)在沒有生成set方法前提下,能註入配置參數。
註:
1.如果使用@ConfigurationProperties註入配置參數,切記生成get和set方法。
2.使用@Value(“${xxx}”),可以不生成get和set方法。
@ConfigurationProperties報錯的解決方式
使用spring initializr快速創建Springboot項目時,@ConfigurationProperties(prefix = “person”),註解會有紅色報錯的標識。
如下:
解決方式一:
在該類上再加一個@Component註解,便可解決問題。
/* 將配置文件中所配置的屬性映射到Perso @ConfigurationProperties:將該類中所有的屬性和配置文件中的相關配置進行綁定。 prefix = "person":指定將配置文件下peoson和屬性進行一一映射。 該類必須在容器中,才可使用@ConfigurationProperties(prefix = "person")功能。 */ @Component @ConfigurationProperties(prefix = "person")
解決方式二:
暴力解決方式。將紅色標識強行取消。此種情況下,簡單測試可以正常進行,但是不知後續會不會出現問題。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springboot @ConfigurationProperties和@PropertySource的區別
- 解決springboot利用ConfigurationProperties註解配置數據源無法讀取配置信息問題
- SpringBoot 配置文件給實體註入值方式
- Spring Boot兩種全局配置和兩種註解的操作方法
- Java經典面試題匯總:Spring Boot