spring-boot-configuration-processor 的作用

本文最后更新于:2022年11月16日 下午

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

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


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

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

上图就是自动提示的内容. 我们一起看看在metadata中都是怎么写的

    {
      "name": "server.port",                          # 配置名称
      "type": "java.lang.Integer",                    # 数据类型
      "description": "Server HTTP port.",             # 描述
      "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties",  # 配置项来源
      "defaultValue": 8080  # 默认值
    }

再来看看来源的类

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

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

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

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

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

maven依赖

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

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

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

References


spring-boot-configuration-processor 的作用
https://baymax55.github.io/2022/11/16/spring/spring-boot-configuration-processor 的作用/
作者
baymax55
发布于
2022年11月16日
许可协议