很多人都不知道這個包的真實作用
在網上搜索了一下,一大堆都是複製粘貼的,不少博客都是說這個包是用來加載傳統的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也不知道你有哪些配置類,所以搞了這個方便大家自定義
在網上看到太多複製粘貼的博客,一點自己的思考都沒有。
完畢