解决Properties/Yml中配置自定义属性,使自定义属性带有代码提示和说明

前言

 在springboot项目中,我们会发现在配置文件中配置一些官方的配置项时会自动出现配置项提示和说明,非常方便,但是在配置自定义属性时却没有代码提示和说明.此时我们可以借助spring-boot-configuration-processor自动生成元数据文件来解决上述问题。
 先看一效果,在自定义properties文件中配置自定义属性和spring的配置项都可出现提示说明。
在这里插入图片描述

原理

 SpringBoot项目生成的jar包内包含有配置属性详细信息的元数据文件(spring-configuration-metadata.json),这些文件能够为在配置application.yml或者application.properties时(自定义的配置文件需要纳入框架管理)提供属性说明、默认值和自动补全。IDE则是通过读取配置信息的元数据从而实现自动提示。

步骤

  1. 添加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
  1. 新建一个自定义的配置文件my.properties和一个配置类绑定
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource({"classpath:my.properties"})
@ConfigurationProperties(prefix="test")
@Data
public class ServerSettings {
   /**
    * 名称
    */
   private String name;
   /**
    * domain不能为空
    */
   private String domain="default-domain";
}
  1. 重新编译项目(记得clean)
     此时,在META-INF目录下,可以看到新生成了一个元数据文件
    在这里插入图片描述
     打开这个文件便可以看到新增的配置信息
    在这里插入图片描述
  2. 自定义配置文件纳入框架管理
     至此,在application.proterties中就已经可以出现提示信息了,但是自定义的配置文件中还不行,需要将自定义的配置文件纳入框架管理
    在这里插入图片描述
  3. 测试一下,大功告成
    在这里插入图片描述

手动编写元数据

 大多数元数据文件是在编译时通过处理使用@ConfigurationProperties注解注释的类的所有属性自动生成的。但同样也可以指定格式手动编写一部分元数据,用于极端情况或者更高级的用法。

  1. 在resource目录下的META-INF目录下新建spring-configuration-metadata.json文件

  2. 在properties标签下增加内容
    在这里插入图片描述

  3. 重新clean编译
     再看一下效果
    在这里插入图片描述

其它可能产生影响的配置

  1. idea需要启动注解处理
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值