1. 程式人生 > 實用技巧 >spring-boot如何生成元資料與javaBean進行關聯用作配置檔案提示

spring-boot如何生成元資料與javaBean進行關聯用作配置檔案提示

spring-boot如何生成元資料與javaBean進行關聯用作配置檔案提示

首先需要引入一個jar依賴包,以及一個maven plugin如下所示

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-configuration-processor</artifactId>
     <optional>true</optional>
 </dependency>
     
 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
 </plugin>

    • 注意maven-compiler-plugin配置時不要配置

      <configuration>
      
        <proc>none</proc>
      
      </configuration>

選項,否則不會自動生成spring-configuration-metadata.json檔案。

可能有些小夥伴還需要開啟Idea的Annotation Processors選項(我個人測試不需要開啟。這裡作一個補充,有些小夥伴可能會配置)配置如下圖所示:

  • 定義一個javaBean用來接收配置檔案的資料,類定義如下所示:

 @Data
 @Configuration
 @ConfigurationProperties(prefix 
= "zengpinlin") public class ZengpinlinProperties { ​ /** 使用者名稱 */ private String userName; /** 使用者密碼 */ private String password; /** 使用者手機號碼 */ private Integer phoneNumber; /** 上下文屬性 */ private Map<String, Integer> contexts; /** 使用者年齡 */ private Integer age; }

說明:記得要加@ConfigurationProperties

,不新增會導致註釋處理器無法找到該類來做對映。如果不用lombok的@Data註解,需要自己新增getter和setter方法。上面javadoc註釋就是元資料檔案的description。這些都完成後執行maven compile,最後會在target/classes/META-INF目錄下會看到一個spring-configuration-metadata.json,如果還需要新增一些描述,可以自行建立additional-spring-configuration-metadata.json用來新增,springboot會做合併處理。


最終效果如下圖所示

總結

這樣是不是後續在配置檔案配置的時候,是不是就會清楚很多啦,也不會這麼容易弄寫錯了。如上有描述不好的地方,還請大家多多指出。謝謝