@ConfigurationProperties 自动提示配置

背景

spring 提供了属性配置服务, 通过注解@ConfigurationProperties可以很方便地读取外部属性(application.propeties和application.yml)
在application.propeties中书写配置的时候,第三方库的配置一般能弹出自动完成提示,但自己定义的属性却不行,这是因为弹出自动完成的提示,需要一点点配置。

环境

intelij idea 2021.3
gradle 7.3.2

自动提示的原理

ide能够实现自动提示,是因为spring提供了Configuration Metadata(一般在文件spring-configuration-metadata.json中)

配置类

@Configuration
@ConfigurationProperties(prefix = "com.demo")
public class DemoConfig {
    private Long xValue;

    //必须要有非静态的getter和setter方法,不然不会产生metadata, 也不能被注入值
    public Long getxValue() {
        return xValue;
    }

    public void setxValue(Long xValue) {
        this.xValue = xValue;
    }
}

配置 annotationProcessor

spring-boot-configuration-processor 可以根据@ConfigurationProperties注解的类生成相关元数据

    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
    // 注意如果使用了lombok,这里也需要配置
    annotationProcessor("org.projectlombok:lombok")

编译生成Configuration Metadata

执行gradle同步一次,回到DemoConfig, idea 开始提示:
Re-run Spring Boot Configuration Annotation Processor to update generated metadata
然后Build->Rebuild Project
这时候在build目录会生成metadata文件:
20220105_1154.png

这时候去application.properties中写配置就有提示了:
20220105_1157.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值