专栏首页陶陶技术笔记为什么我的Spring Boot自定义配置项在IDE里面不会自动提示?

为什么我的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

本文分享自微信公众号 - 陶陶技术笔记(zltrobin),作者:陶陶

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ZLT-MP v3.2.0 发布

    https://gitee.com/zlt2000/microservices-platform

    陶陶技术笔记
  • ZLT-MP v3.1.0 发布

    https://gitee.com/zlt2000/microservices-platform

    陶陶技术笔记
  • 如何实现对ELK各组件的监控?试试Metricbeat

    开发排查系统问题用得最多的手段就是查看系统日志,ELK 是 Elastic 公司开源的实时日志处理与分析解决方案,已经为日志处理方案的主流选择。

    陶陶技术笔记
  • spring boot 配置文件开启自定义属性自动提示

    使用插件可以让 spring boot 项目中自己定义的PropertiesConfiguration类属性在配置时自动提示

    似水的流年
  • SpringBoot 源码解析——源码各模块代码统计

    柿子要挑软的捏,自然代码要先看少的 module。 统计了一下 (spring-boot-project) 各个模块源码行数:

    zhisheng
  • Docker容器网络通信的那些事儿

    Docker作为一种容器技术,在目前的分布式和微服务系统中被广泛使用,因为要在多个容器或机器间进行通信,因此Docker网络通信是一个重要的技术点。从网络架构的...

    luoxn28
  • SpringBoot 整合NoSql

    添加Spring-Web和Spring-Security依赖,使用Spring-Security是因为使用SpringBoot的Redis依赖时,必须添加Spr...

    Johnson木木
  • Docker的网络(三)

    从Linux的network namespace开始,通过详细讲解Docker的内置网络host和bridge是怎么使用的,来给大家展示不同容器之间网络的隔离和...

    蒋老湿
  • 欢迎来到被容器技术改变的世界!

    我是攻城师
  • 欢迎来到被容器技术改变的世界!

    如果你将容器整合到构建工作流程中,我们未来的多云环境的所有要素都开始落实到位。 现代应用程序取得发展很大程度上归功于方兴未艾的开发运营(DevOps)潮流以及...

    静一

扫码关注云+社区

领取腾讯云代金券