spring-boot-configuration-processor的真實作用

很多人都不知道這個包的真實作用

在網上搜索了一下,一大堆都是複製粘貼的,不少博客都是說這個包是用來加載傳統的xml或者properties配置,其實這都是錯的。沒有springboot的時候照樣有方法加載。

spring官網說明
這個包的作用是生成配置元數據,比如你平常在yml文件裏面配置

server:
  port: 8080
  #你在idea裏面可以點擊port,進到這個字段裏面,還可以看到配置的提示信息
aaa:
  bbb: haha
  # 自己自定義的就不能點擊

這是因爲在你的資源文件裏面有一個spring-configuration-metadata.json文件,這是spring配置的元數據,是json形式

spring-boot-configuration-processor其實是一個註解處理器,在編譯階段幹活的,一般在maven的聲明都是 ,optional 爲true

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

官網原文

You can easily generate your own configuration metadata file from items annotated with @ConfigurationProperties by using the spring-boot-configuration-processor jar. The jar includes a Java annotation processor which is invoked as your project is compiled. To use the processor, include a dependency on spring-boot-configuration-processor.

百度翻譯一下:
通過使用spring boot配置處理器jar,您可以從用@ConfigurationProperties註釋的項輕鬆生成自己的配置元數據文件。jar包含一個Java註釋處理器,在編譯項目時調用它。要使用處理器,請包含對spring boot配置處理器的依賴。

spring-boot-configuration-processor說白了就是給自定義的配置類生成元數據信息的,因爲spring也不知道你有哪些配置類,所以搞了這個方便大家自定義

spring-boot-configuration-processor源碼包結構
在網上看到太多複製粘貼的博客,一點自己的思考都沒有。
完畢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章