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