栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot 元数据配置原来可以这么玩

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot 元数据配置原来可以这么玩

 

导读:Spring Boot jar 包含元数据文件,提供所有支持的配置属性的详细信息。该文件旨在让IDE开发者提供上下文相关的帮助和“代码完成”。总结本篇文章希望对从事相关工作的同学能够有所帮助或者启发。

一、背景

最近在调试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 配置为例

  • 元数据配置

  • 定义配置

二、应用实例

▐ 插件工厂配置定义

配置元数据文件位于jar下面。meta-INF/spring-configuration-metadata.json它们使用简单的JSON格式,其中的项目分类在“groups”或“properties”下

{
    "properties": [
        {
            "name": "plugin-cache.basePackage",
            "type": "java.lang.String",
            "description": "文档扫描包路径。"
        },
        {
            "name": "plugin-cache.title",
            "type": "java.lang.String",
            "description": "Plugin Cache 插件工厂"
        },
        {
            "name": "plugin-cache.description",
            "type": "java.lang.String",
            "description": "插件工厂描述"
        },
        {
            "name": "plugin-cache.version",
            "type": "java.lang.String",
            "defaultValue": "V1.0",
            "description": "版本。"
        }
    ]
}

大部分元数据文件是在编译时通过处理所有带注释的项目自动生成的

@ConfigurationProperties 可以查看先前的文章

@EnableConfigurationProperties 的工作原理

参考下面properties表格进行配置上的理解。

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

▐ 插件工厂配置注入

@Data
@Component
@ConfigurationProperties(PluginCacheProperties.PREFIX)
class PluginCacheProperties {

    public static final String PREFIX = "plugin-cache";

    
    private String basePackage = "";

    
    private String title = "Plugin Cache 插件工厂";

    
    private String description = "插件缓存说明";

    
    private String version = "V1.0";

    
    private String charset="UTF-8";

}

▐ 配置应用

三、总结


对于元数据配置,理解起来不难!主要为了组件库为了让使用者更加优化使用提供的一套IDEA提示说明。借此我们在开放私有组件或者插件的时候在对于配置项可对外提供开放能力,可以根据元数据配置来完善IDEA提示说明。这样其他人用起来的时候能很快知道对应的参数的配置类型以及相关的配置属性说明。总结本篇文章希望对从事相关工作的同学能够有所帮助或者启发

原文地址:建议收藏 | SpringBoot 元数据配置原来可以这么玩!

 如果你觉的本文对你有帮助,麻烦点赞关注支持一下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686720.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号