@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。

推薦閱讀: