Spring Boot自定义配置实现IDE自动提示

Posted zlt2000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot自定义配置实现IDE自动提示相关的知识,希望对你有一定的参考价值。

技术图片

一、背景

官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示
技术图片
而我们自己自定义的配置却没有,对开发非常不友好容易打错配置,那这个是怎样实现的呢?

?

二、提示原理

IDE是通过读取配置信息的元数据而实现自动提示的,而元数据在目录META-INF中的spring-configuration-metadata.json 或者 additional-spring-configuration-metadata.json

?

三、实现自动提示

以我这个自己开发的starter中的自定义配置文件为例,如果自己手动创建这些元数据的话工作量比较大,使用IDEA的话有自动生成功能
技术图片

?

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并设置Enable annotation processing
技术图片

?

3.3. 重新编译项目

项目在重新编译后就会自动生成spring-configuration-metadata.json文件
技术图片

?

四、测试

自定义的swagger配置已经能自动提示了
技术图片

?
参考资料
https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

?
推荐阅读

以上是关于Spring Boot自定义配置实现IDE自动提示的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 自动装配定义与自定义starter原理,及如何实现自定义装配

IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示

在application.yml的自动提示中显示出项目内部的属性配置项

通过注解实现自定义Spring Boot Starter自动装配

Spring Boot 2从入门到入坟 | 配置文件篇:自定义类绑定的配置提示

Spring Boot 2从入门到入坟 | 配置文件篇:自定义类绑定的配置提示