[TOC] ## 一、背景 官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示 ![](https://img.kancloud.cn/a1/6b/a16bccaf2ec602e05b86f3cecdccf969_974x566.png) 而我们自己自定义的配置却没有,对开发非常不友好容易打错配置,**那这个是怎样实现的呢?** &nbsp; ## 二、提示原理 IDE是通过读取配置信息的元数据而实现自动提示的,而元数据在目录`META-INF`中的`spring-configuration-metadata.json` 或者 `additional-spring-configuration-metadata.json` &nbsp; ## 三、实现自动提示 以我这个自己开发的starter中的自定义配置文件为例,如果自己手动创建这些元数据的话工作量比较大,使用`IDEA`的话有自动生成功能 ![](https://img.kancloud.cn/6f/b2/6fb245ade5df31ac6be8dc8f82a4708c_1253x698.png) &nbsp; ### 3.1. 引入依赖spring-boot-configuration-processor 在`zlt-swagger2-spring-boot-starter`工程中添加以下jar包 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> ``` &nbsp; ### 3.2. 修改IDEA配置 搜索`Annotation Processor`并设置`Enable annotation processing` ![](https://img.kancloud.cn/dd/e0/dde01477b97387c9b7a8dc6ea96193ec_1561x659.png) &nbsp; ### 3.3. 重新编译项目 项目在重新编译后就会自动生成`spring-configuration-metadata.json`文件 ![](https://img.kancloud.cn/73/18/73188088e5e6920b47db68319a1ebb2b_1706x257.png) &nbsp; ## 四、测试 自定义的swagger配置已经能自动提示了 ![](https://img.kancloud.cn/cc/9e/cc9e48cd2c6e9616fc5e59b3eb44d106_965x532.png) &nbsp; **参考资料** [https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html](https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html)