当前位置: 首页 > 编程笔记 >

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

姚嘉容
2023-03-14
本文向大家介绍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

总结

以上所述是小编给大家介绍的Spring Boot自定义配置实现IDE自动提示功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

 类似资料:
  • 本机Spring Boot自动配置(例如one)也可以检测主类中声明的bean(例如注释的方法)。 如何对主类中声明的bean进行正确的bean检测? 编辑

  • 本文向大家介绍eclipse自动提示和自动补全功能实现方法,包括了eclipse自动提示和自动补全功能实现方法的使用技巧和注意事项,需要的朋友参考一下 解决代码的自动提示问题: 1、打开 Eclipse -> Window -> Perferences 2、找到Java 下的 Editor 下的 Content Assist , 右边出现的选项中,有一个Auto activation trigge

  • 4.1 根据条件的自动配置 @conditional是基于条件的自动配置,一般配合Condition接口一起使用,只有接口实现类返回true,才装配,否则不装配. 用实现了Condition接口的类传入@Conditional中 @Conditional可以标记在配置类的方法中,也可以标记在配置类上.标记的位置不同,作用域不同. @Conditional可以传入多个实现了condition接口的类

  • 本文向大家介绍jquery实现邮箱自动填充提示功能,包括了jquery实现邮箱自动填充提示功能的使用技巧和注意事项,需要的朋友参考一下 邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作为账号名 为了提高用户的体验,很多网站都会实现邮箱输入的自动提示功能,所有自己也实现了一个,先看下效果吧,觉得效果还行的就拿去 核心代码(需要jquery的支持): 页面(这里就取一个div做

  • 本文向大家介绍SpringBoot 配合 SpringSecurity 实现自动登录功能的代码,包括了SpringBoot 配合 SpringSecurity 实现自动登录功能的代码的使用技巧和注意事项,需要的朋友参考一下 自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱: 很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。 自动登录功能

  • MOSN 自定义配置说明。 本文是对 MOSN 自定义配置的说明。 Duration String 字符串,由一个十进制数字和一个时间单位后缀组成,有效的时间单位为 ns、us(或?s)、ms、s、m、h,例如 1h、3s、500ms。 metadata metadata 用于 MOSN 路由和 Cluster Host 之间的匹配。 { "filter_metadata":{ "mo