0
点赞
收藏
分享

微信扫一扫

Spring Boot Configuration Processor使用

最后的执着 2024-03-15 阅读 9

一、功能介绍

spring-boot-configuration-processor的作用就是将自己的配置你自己创建的配置类生成元数据信息,这样就能在你自己的配置文件中显示出来非常的方便。在META-INF目录下生成spring-configuration-metadata.json文件,从而告诉spring这个jar包中有哪些自定义的配置。

二、使用方式

1、项目中添加对应的依赖

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

2、创建ConfigProperties文件

@Data
@Component
@ConfigurationProperties(prefix = "yuluo")
public class MyProperties {
    public String name = "";
    public int age = 0;
}

3、编译项目,即可自动在META-INF下生成对应的json文件
在这里插入图片描述
格式如下:

{
  "groups": [
    {
      "name": "yuluo",
      "type": "com.yuluo.springbootconfigurationprocessordemo.properties.MyProperties",
      "sourceType": "com.yuluo.springbootconfigurationprocessordemo.properties.MyProperties"
    }
  ],
  "properties": [
    {
      "name": "yuluo.age",
      "type": "java.lang.Integer",
      "sourceType": "com.yuluo.springbootconfigurationprocessordemo.properties.MyProperties",
      "defaultValue": 0
    },
    {
      "name": "yuluo.name",
      "type": "java.lang.String",
      "sourceType": "com.yuluo.springbootconfigurationprocessordemo.properties.MyProperties",
      "defaultValue": ""
    }
  ],
  "hints": []
}

4、配置文件中使用,可以看见有相应的提示,方便使用
在这里插入图片描述

yuluo.age=30
yuluo.name=yuluo

5、test方法测试

@SpringBootTest
class SpringBootConfigurationProcessorDemoApplicationTests {

    @Autowired
    private MyProperties myProperties;

    @Test
    void contextLoads() {
        System.out.println(myProperties.name);
        System.out.println(myProperties.age);
    }
}

6、结果如下
在这里插入图片描述

举报

相关推荐

0 条评论