建议收藏 | SpringBoot 元数据配置原来可以这么玩!
导读:Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。该文件旨在让 IDE 开发者提供上下文相关的帮助和“代码完成”。总结本篇文章希望对从事相关工作的同学能够有所帮助或者启发。
1|0一、背景
最近在调试reactive-steams
源码的时候看到spring-boot
源码包里面的
-
spring-configuration-metadata.json
-
additional-spring-configuration-metadata.json
说实话主要是metadata
吸引了我,因为最近在调整引擎元数据管理确实折腾了很久。
查了官方的资料发现这里也是 SpringBoot 提供的元数据配置拓展,但是这里的元数据不是只在 Spring bean 管理的元数据类似。
▐ 官方解释

访问地址:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/configuration-metadata.html#configuration-metadata-additional-metadata
简单点可以理解为这类元数据的配置时为了让我们在使用 IDEA 开发的过程中,使用application.properties
或者 application.yml
配置的时候更有注释说明,更方便我们开发使用。
▐ 官方案例
以我们常用的 logging 配置为例
-
元数据配置


-
定义配置

2|0二、应用实例
▐ 插件工厂配置定义
配置元数据文件位于 jar 下面。META-INF/spring-configuration-metadata.json
它们使用简单的 JSON 格式,其中的项目分类在“groups”或“properties”下

大部分元数据文件是在编译时通过处理所有带注释的项目自动生成的
@ConfigurationProperties 可以查看先前的文章
@EnableConfigurationProperties 的工作原理
参考下面 properties 表格进行配置上的理解。

deprecation 每个 properties 元素的属性中包含的 JSON 对象可以包含以下属性:

▐ 插件工厂配置注入
▐ 配置应用


3|0三、总结
对于元数据配置,理解起来不难!主要为了组件库为了让使用者更加优化使用提供的一套 IDEA 提示说明。借此我们在开放私有组件或者插件的时候在对于配置项可对外提供开放能力,可以根据元数据配置来完善 IDEA 提示说明。这样其他人用起来的时候能很快知道对应的参数的配置类型以及相关的配置属性说明。总结本篇文章希望对从事相关工作的同学能够有所帮助或者启发
4|0往期推荐
__EOF__
作 者:码农架构
出 处:https://www.cnblogs.com/ibytecoding/p/15801524.html
关于博主:目前任职蚂蚁金服,「公众号:码农架构」专注于系统架构、高可用、高性能、高并发类技术分享!
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-01-14 并发阻塞队列(BlockingQueue)— 生产者消费者模式核心部件
2021-01-14 为什么建议没事不要随便用工厂模式创建对象?
2021-01-14 如何利用策略模式避免冗长的 if-else/switch 分支判断代码?