为什么在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依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
版本号随着你的spring-boot版本变化
当你编写好属性文件, 并添加注解之后, 需要你编译一下项目才能在配置文件编写的时候弹出提示。如果不编译是不会有提示的。 编译好的文件在target包下可以看到
这个包之前我也没怎么用过, 没关注过, 最近看别的搭建的项目引用了,特来学习写个短文帮自己整理记录一下。
如果有什么不正确的还请留言告知更正。