Spring Boot自定義配置實(shí)現(xiàn)IDE自動(dòng)提示功能

一、背景
官方提供的spring boot starter的配置項(xiàng),我們用IDE配置的時(shí)候一般都有自動(dòng)提示的,如下圖所示

而我們自己自定義的配置卻沒(méi)有,對(duì)開發(fā)非常不友好容易打錯(cuò)配置, 那這個(gè)是怎樣實(shí)現(xiàn)的呢?
二、提示原理
IDE是通過(guò)讀取配置信息的元數(shù)據(jù)而實(shí)現(xiàn)自動(dòng)提示的,而元數(shù)據(jù)在目錄 META-INF 中的 spring-configuration-metadata.json 或者 additional-spring-configuration-metadata.json
三、實(shí)現(xiàn)自動(dòng)提示
以我這個(gè)自己開發(fā)的starter中的自定義配置文件為例,如果自己手動(dòng)創(chuàng)建這些元數(shù)據(jù)的話工作量比較大,使用 IDEA 的話有自動(dòng)生成功能

3.1. 引入依賴spring-boot-configuration-processor
在 zlt-swagger2-spring-boot-starter 工程中添加以下jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
3.2. 修改IDEA配置
搜索 Annotation Processor 并設(shè)置 Enable annotation processing

3.3. 重新編譯項(xiàng)目
項(xiàng)目在重新編譯后就會(huì)自動(dòng)生成 spring-configuration-metadata.json 文件

四、測(cè)試
自定義的swagger配置已經(jīng)能自動(dòng)提示了

參考資料
https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html
總結(jié)
以上所述是小編給大家介紹的Spring Boot自定義配置實(shí)現(xiàn)IDE自動(dòng)提示功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Java中注解@JsonFormat與@DateTimeFormat的使用
從數(shù)據(jù)庫(kù)獲取時(shí)間傳到前端進(jìn)行展示的時(shí)候,我們有時(shí)候可能無(wú)法得到一個(gè)滿意的時(shí)間格式的時(shí)間日期,本文主要介紹了Java中注解@JsonFormat與@DateTimeFormat的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
springboot 實(shí)現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作
這篇文章主要介紹了springboot 實(shí)現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java設(shè)計(jì)模式七大原則之里氏替換原則詳解
在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,里氏替換原則(Liskov Substitution principle)是對(duì)子類型的特別定義。本文將為大家詳細(xì)介紹Java設(shè)計(jì)模式七大原則之一的里氏替換原則,需要的可以參考一下2022-02-02
從匯編碼分析java對(duì)象的創(chuàng)建過(guò)程(推薦)
這篇文章主要介紹了從匯編碼分析java對(duì)象的創(chuàng)建過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
SpringBoot實(shí)現(xiàn)無(wú)感刷新Token的項(xiàng)目實(shí)踐
token刷新是前端安全中必要的一部分,本文就來(lái)介紹一下SpringBoot實(shí)現(xiàn)無(wú)感刷新Token的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Java設(shè)計(jì)模式中的策略(Strategy)模式解讀
這篇文章主要介紹了Java設(shè)計(jì)模式中的策略(Strategy)模式解讀,對(duì)象的某個(gè)行為,在不同場(chǎng)景有不同實(shí)現(xiàn)方式,可以將這些行為的具體實(shí)現(xiàn)定義為一組策略,每個(gè)實(shí)現(xiàn)類實(shí)現(xiàn)一種策略,在不同場(chǎng)景使用不同的實(shí)現(xiàn),并且可以自由切換策略,需要的朋友可以參考下2023-10-10
深入淺出的學(xué)習(xí)Java ThreadLocal
本文會(huì)基于實(shí)際場(chǎng)景介紹ThreadLocal如何使用以及內(nèi)部實(shí)現(xiàn)機(jī)制。 具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
如何使用Spring AOP預(yù)處理Controller的參數(shù)
這篇文章主要介紹了如何使用Spring AOP預(yù)處理Controller的參數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

