【项目实战】spring-boot-configuration-processor 一个用于生成配置元数据的注解处理器
一、背景说明
spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了
二、spring-boot-configuration-processor 介绍
Spring Boot Configuration Processor是一个用于生成配置元数据的注解处理器。
它可以帮助您生成有关Spring Boot应用程序中可用配置属性的元数据,以及这些属性的默认值和描述。
spring-boot-configuration-processor是一个用于生成Spring Boot配置元数据的注解处理器。
它可以自动扫描项目中的@ConfigurationProperties
和@EnableConfigurationProperties
注解,生成相应的元数据文件,使得IDEA能够提供代码补全、参数校验等功能。
通过使用spring-boot-configuration-processor,可以方便地使用IDE提供的代码补全、参数校验等功能,增强了代码可读性和可维护性,在开发过程中更加高效和便捷。
三、使用说明
使用spring-boot-configuration-processor需要遵循以下步骤:
要使用Spring Boot Configuration Processor,您需要将以下依赖项添加到pom.xml文件中:
在pom.xml中添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring-boot.version}</version>
<optional>true</optional>
</dependency>
添加依赖项后,在@ConfigurationProperties
或@EnableConfigurationProperties
注解所在的类上,加上@ConfigurationPropertiesScan
注解:
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
@ConfigurationPropertiesScan
@SpringBootApplication
public class MyApplication {
// ...
}
您可以在您的Spring Boot应用程序中使用@ConfigurationProperties
注解来定义配置属性。
在@ConfigurationProperties
或@EnableConfigurationProperties
注解所在的类中,定义属性:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "myapp")
public class MyAppProperties {
private String name;
private int port;
private List<String> servers;
private String description;
// getters and setters
}
按下Ctrl + Shift + O组合键,导入相关的包,然后就可以在代码中使用自定义属性了。
然后,您可以使用mvn compile命令来生成配置元数据。
生成的元数据将位于target/classes/META-INF/spring-configuration-metadata.json文件中。
例如,对于上面的示例,生成的元数据可能如下所示:
{
"groups": [
{
"name": "myapp",
"type": "com.example.MyAppProperties",
"sourceType": "com.example.MyAppProperties",
"description": "MyApp properties"
}
],
"properties": [
{
"name": "myapp.name",
"type": "java.lang.String",
"sourceType": "com.example.MyAppProperties",
"defaultValue": "",
"description": "MyApp name"
},
{
"name": "myapp.description",
"type": "java.lang.String",
"sourceType": "com.example.MyAppProperties",
"defaultValue": "",
"description": "MyApp description"
}
]
}
您可以使用这些元数据来生成文档或IDE提示,以帮助用户了解可用的配置属性和它们的含义。
四、参考文章
https://blog.csdn.net/yuhan_0590/article/details/85100246
相关文章
- Spring Boot Profile使用
- DevTools in Spring Boot
- Spring Boot使用嵌入式容器,那怎么配置自定义Filter呢
- 【Spring Boot】Spring Boot之整合Apollo配置中心
- Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider(8)
- Spring Boot 如何在启动后执行初始化任务(转)
- Spring Boot自动配置实现原理(转)
- Spring Boot 中如何使用 Dubbo Activate 扩展点
- spring boot yaml 配置[三]
- spring boot:用dynamic-datasource-spring-boot-starter配置多数据源访问seata(seata 1.3.0 / spring boot 2.3.3)
- Spring boot使用keytool配置ssl
- spring boot 2X中@Scheduled实现定时任务及多线程配置
- Spring boot后台搭建一使用MyBatis集成Mapper和PageHelper
- spring boot下JedisCluster方式连接Redis集群的配置
- spring boot:spring security实现oauth2+jwt管理认证授权及oauth2返回结果格式化(spring boot 2.3.3)
- spring boot:swagger3的安全配置(swagger 3.0.0 / spring security / spring boot 2.3.3)
- spring boot:用dynamic-datasource-spring-boot-starter配置多数据源访问seata(seata 1.3.0 / spring boot 2.3.3)
- spring boot:解决cors跨域问题的两种方法(spring boot 2.3.2)
- spring boot:使用spring cache+caffeine做进程内缓存(本地缓存)(spring boot 2.3.1)
- spring boot配置dubbo注意事项
- spring boot配置dubbo(XML)
- Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析
- Spring Boot的自动配置、Command-line Runner
- 了解Spring Boot的自动配置
- Spring-Boot + Mybatis 多数据源配置
- Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 用IDEA创建springboot项目的时候遇到的一些坑
- 学习Spring Boot:(十三)配置 Shiro 权限认证
- 毕业设计 Spring Boot的中药店商城系统(含源码+论文)
- Spring Boot云配置服务器
- @Value的使用 《Spring源码解析》java笔记