spring-boot-configuration-processor 的作用

為什么在IDEA中使用SpringBoot的時(shí)候, 我們?cè)谂渲梦募锌偰茉谳斎雜pring時(shí)會(huì)得到很多的輸入提示?


image.png

這是由于在Spring的項(xiàng)目中 (我們依賴的jar) 包含了很多 meta-data, 也就是元數(shù)據(jù), 這些數(shù)據(jù)并不是在項(xiàng)目運(yùn)行中有什么作用. 而是在開發(fā)期間能夠通過ide的處理給我們更多的便捷提示.


下面我們一起來看一下依賴的jar里面都有什么?


image.png
  • spring-configuration-metadata.json
    這個(gè)就是spring配置元數(shù)據(jù). 我們經(jīng)常輸入的server.port在這里面就有配置.
    image.png

    上圖就是自動(dòng)提示的內(nèi)容. 我們一起看看在metadata中都是怎么寫的
    image.png
    {
      "name": "server.port",                          # 配置名稱
      "type": "java.lang.Integer",                    # 數(shù)據(jù)類型
      "description": "Server HTTP port.",             # 描述
      "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties",  # 配置項(xiàng)來源
      "defaultValue": 8080  # 默認(rèn)值
    }

再來看看來源的類

image.png

這樣就看到了數(shù)據(jù)出處了.
顯而易見的是, 除了默認(rèn)值之外, 字段的注釋也會(huì)一并被寫到metadata中.

那么接下來看看如何添加默認(rèn)值.


image.png

給字段配置上默認(rèn)值之后會(huì)自動(dòng)的被處理到metadata中


image.png

這樣在輸入的時(shí)候就會(huì)有提示
image.png

以上就是spring-boot-configuration-processor大致的作用了.

maven依賴

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

版本號(hào)隨著你的spring-boot版本變化

當(dāng)你編寫好屬性文件, 并添加注解之后, 需要你編譯一下項(xiàng)目才能在配置文件編寫的時(shí)候彈出提示。如果不編譯是不會(huì)有提示的。 編譯好的文件在target包下可以看到


image.png

這個(gè)包之前我也沒怎么用過, 沒關(guān)注過, 最近看別的搭建的項(xiàng)目引用了,特來學(xué)習(xí)寫個(gè)短文幫自己整理記錄一下。
如果有什么不正確的還請(qǐng)留言告知更正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容