千家信息网

springBoot配置文件properties和yml中数组的写法有什么不同

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容介绍了"springBoot配置文件properties和yml中数组的写法有什么不同"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些
千家信息网最后更新 2025年01月20日springBoot配置文件properties和yml中数组的写法有什么不同

本篇内容介绍了"springBoot配置文件properties和yml中数组的写法有什么不同"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    springBoot配置文件properties和yml数组写法

    这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合。

    以下是我springBoot中使用的 application.properties 文件

    其实很好理解,我的configs是一个集合,configs[0].appid代表我配置的第一个对象中的appid的值

    miniapp.configs[0].appid = 111111miniapp.configs[0].secret= 222222miniapp.configs[0].token = 333333miniapp.configs[0].aesKey = 444444miniapp.configs[0].msgDataFormat = JSON miniapp.configs[1].appid = 111miniapp.configs[1].secret = 222miniapp.configs[1].token = 333miniapp.configs[1].aesKey = 444miniapp.configs[1].msgDataFormat = JSON

    这个是使用application.yml的方式,因为YAML 本身支持 list 类型,所以可以在 application.yml 文件中添加:

    yml如果配置普通字符串

    miniapp:    configs:        - appid: 111          secret: 222          token: 333          aesKey: 444          msgDataFormat: JSON        - appid: 111          secret: 222          token: 333          aesKey: 444          msgDataFormat: JSON

    这两种方法你选择哪种都可以

    下面展示类代码的写法:

    package com.platform.miniprogram; import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component; import java.util.List; /** * @Classname WxMaProperties * @Description TODO * @Date 2020/10/10 10:48 * @Created by lyc */@Data@ConfigurationProperties(prefix = "miniapp")@Componentpublic class WxMaProperties {     private List configs;     @Data    public static class Config {        /**         * 设置微信小程序的appid         */        private String appid;         /**         * 设置微信小程序的Secret         */        private String secret;         /**         * 设置微信小程序消息服务器配置的token         */        private String token;         /**         * 设置微信小程序消息服务器配置的EncodingAESKey         */        private String aesKey;         /**         * 消息格式,XML或者JSON         */        private String msgDataFormat;    } }

    解释:

    @Data就是省略了get/set方法你可以直接删掉写成get/set

    @ConfigurationProperties(prefix = "miniapp")

    prefix 这个前缀一定要写对

    configs是集合的名字,要和配置表中的信息一致。这样基本就可以了。

    .properties和.yml的写法区别

    例如:redis配置的properties或yml文件,如下:

    spring.redis.cluster.nodes[0]=192.168.0.1:6379  spring.redis.cluster.nodes[1]=192.168.0.2:6379

    spring:     redis:        cluster:           nodes:              - 192.168.0.1:6379              - 192.168.0.2:6379

    示例:2

    environments:    dev:        url: http://dev.bar.com        name: Developer Setup    prod:        url: http://foo.bar.com        name: My Cool App

    上面的YAML文档会被转化到下面的属性中:

    environments.dev.url=http://dev.bar.comenvironments.dev.name=Developer Setupenvironments.prod.url=http://foo.bar.comenvironments.prod.name=My Cool App

    YAML列表被表示成使用[index]间接引用作为属性keys的形式,例如下面的YAML:

    my:   servers: - dev.bar.com - foo.bar.com

    将会转化到下面的属性中:

    my.servers[0]=dev.bar.commy.servers[1]=foo.bar.com

    "springBoot配置文件properties和yml中数组的写法有什么不同"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    0