Spring Boot 2.x基礎教程:配置後設資料的應用

程式猿DD發表於2021-01-20

在使用Spring Boot開發應用的時候,你是否有發現這樣的情況:自定義屬性是有高量背景的,滑鼠放上去,有一個Cannot resolve configuration property的配置警告。

如果不對於這個警告覺得煩,想要去掉,那麼可以通過設定來去除:

但是,我的建議是不要去掉,因為這個警告正好可以通過高亮來區分你的自定義配置以及框架配置,可以讓你快速的分辨哪些是自定義的。

如果你實在想去掉,那麼也不建議用上面說的方法,而是建議通過完善配置後設資料的方式來完成。所以,今天就來具體說說配置後設資料的應用!

啥是配置後設資料?

我們不妨開啟一個已經建立好的Spring Boot專案,檢視一下它的Spring Boot依賴包,可以找到如下圖的一個json檔案:

這裡報錯的就是配置的後設資料資訊。有沒有發現這些name的值都很熟悉?其中description是不是也很熟悉?對,這些就是我們常用的Spring Boot原生配置的後設資料資訊。

這下知道配置後設資料可以用來做啥了吧?它可以幫助IDE來完成配置聯想和配置提示的展示。

而我們自定義配置之所以會報警告,同時也沒有提示資訊,就是因為沒有這個後設資料的配置檔案!

配置後設資料的自動生成

既然知道了原理,那麼接下來我們嘗試用一下配置後設資料試試!

第一步:建立一個配置類,定義一個自定義配置

@Data
@Configuration
@ConfigurationProperties(prefix = "com.didispace")
public class DidiProperties {
    
    /**
     * 這是一個測試配置
     */
    private String from;

}

第二步:在pom.xml中新增自動生成配置後設資料的依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

第三步mvn install下這個專案。

此時我們可以在工程target目錄下找到後設資料檔案:

同時,我們在配置檔案中嘗試編寫這個自定義的配置項時,可以看到編譯器給出了聯想和提示:

並且,編寫完配置之後,也沒有高亮警告了!

程式碼示例

本文的相關例子可以檢視下面倉庫中的chapter1-4目錄:

如果您覺得本文不錯,歡迎Star支援,您的關注是我堅持的動力!

歡迎關注我的公眾號:程式猿DD,獲得獨家整理的免費學習資源助力你的Java學習之路!另每週贈書不停哦~

相關文章