乐趣区

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

 
推荐阅读

  • 日志排查问题困难?分布式日志链路跟踪来帮你
  • zuul 集成 Sentinel 最新的网关流控组件
  • 阿里注册中心 Nacos 生产部署方案
退出移动版