美文网首页
spring-boot-configuration-proces

spring-boot-configuration-proces

作者: 小雨转暴雨 | 来源:发表于2020-04-25 02:50 被阅读0次

    为什么在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

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

    相关文章

      网友评论

          本文标题:spring-boot-configuration-proces

          本文链接:https://www.haomeiwen.com/subject/pngcwhtx.html