一、功能介绍
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、结果如下
 


















