spring-boot-configuration-processor 的作用

本文介绍了SpringBoot中配置文件的智能提示原理,这得益于spring-configuration-metadata.json文件,它包含了配置项的名称、类型、描述、来源和默认值等信息。当在IDEA中输入spring时,IDE能提供丰富的自动补全提示。这个功能通过spring-boot-configuration-processor实现,该依赖会在编译时处理元数据。文章展示了如何添加默认值到配置项,并指出必须编译项目后,提示才会生效。通过学习,我们可以更好地理解和利用这一开发便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么在IDEA中使用SpringBoot的时候, 我们在配置文件中总能在输入spring时会得到很多的输入提示?


image.png

这是由于在Spring的项目中 (我们依赖的jar) 包含了很多 meta-data, 也就是元数据, 这些数据并不是在项目运行中有什么作用. 而是在开发期间能够通过ide的处理给我们更多的便捷提示.


下面我们一起来看一下依赖的jar里面都有什么?


image.png
  • spring-configuration-metadata.json
    这个就是spring配置元数据. 我们经常输入的server.port在这里面就有配置.
    image.png

    上图就是自动提示的内容. 我们一起看看在metadata中都是怎么写的
    image.png
    {
      "name": "server.port",                          # 配置名称
      "type": "java.lang.Integer",                    # 数据类型
      "description": "Server HTTP port.",             # 描述
      "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties",  # 配置项来源
      "defaultValue": 8080  # 默认值
    }

再来看看来源的类

image.png

这样就看到了数据出处了.
显而易见的是, 除了默认值之外, 字段的注释也会一并被写到metadata中.

那么接下来看看如何添加默认值.


image.png

给字段配置上默认值之后会自动的被处理到metadata中


image.png

这样在输入的时候就会有提示
image.png

以上就是spring-boot-configuration-processor大致的作用了.

maven依赖

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
</dependency>

版本号随着你的spring-boot版本变化

当你编写好属性文件, 并添加注解之后, 需要你编译一下项目才能在配置文件编写的时候弹出提示。如果不编译是不会有提示的。 编译好的文件在target包下可以看到


image.png

这个包之前我也没怎么用过, 没关注过, 最近看别的搭建的项目引用了,特来学习写个短文帮自己整理记录一下。
如果有什么不正确的还请留言告知更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值