在使用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目錄下找到元數據文件:
同時,我們在配置文件中嘗試編寫這個自定義的配置項時,可以看到編譯器給出了聯想和提示:
並且,編寫完配置之後,也沒有高亮警告了!