基于springBoot配置文件properties和yml中数组的写法

 更新时间:2021年11月29日 09:19:11   作者:馒头花卷儿  
这篇文章主要介绍了springBoot配置文件properties和yml中数组的写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

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

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

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

miniapp.configs[0].appid = 111111
miniapp.configs[0].secret= 222222
miniapp.configs[0].token = 333333
miniapp.configs[0].aesKey = 444444
miniapp.configs[0].msgDataFormat = JSON
 
miniapp.configs[1].appid = 111
miniapp.configs[1].secret = 222
miniapp.configs[1].token = 333
miniapp.configs[1].aesKey = 444
miniapp.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")
@Component
public class WxMaProperties { 
    private List<Config> 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.com
environments.dev.name=Developer Setup
environments.prod.url=http://foo.bar.com
environments.prod.name=My Cool App

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

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

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java List 排序之冒泡排序实例代码

    java List 排序之冒泡排序实例代码

    这篇文章主要介绍了java List 排序之冒泡排序实例代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • SpringBoot加载应用事件监听器代码实例

    SpringBoot加载应用事件监听器代码实例

    这篇文章主要介绍了SpringBoot加载应用事件监听器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • spring data jpa如何只查询实体部分字段

    spring data jpa如何只查询实体部分字段

    这篇文章主要介绍了spring data jpa如何只查询实体部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java实现快速幂算法详解

    Java实现快速幂算法详解

    快速幂是用来解决求幂运算的高效方式。此算法偶尔会出现在笔试以及面试中,特意花时间研究了下这题,感兴趣的小伙伴快跟随小编一起学习一下
    2022-10-10
  • Spring操作JdbcTemplate数据库的方法学习

    Spring操作JdbcTemplate数据库的方法学习

    这篇文章主要为大家介绍了Spring操作JdbcTemplate数据库方法学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • RestTemplate get请求携带headers自动拼接参数方式

    RestTemplate get请求携带headers自动拼接参数方式

    这篇文章主要介绍了RestTemplate get请求携带headers自动拼接参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • mybatis where 标签使用

    mybatis where 标签使用

    where标记的作用类似于动态sql中的set标记,本文主要介绍了mybatis where 标签使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 浅谈Java并发编程之Lock锁和条件变量

    浅谈Java并发编程之Lock锁和条件变量

    这篇文章主要介绍了浅谈Java并发编程之Lock锁和条件变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java 随机生成任意组电话号码过程解析

    Java 随机生成任意组电话号码过程解析

    这篇文章主要介绍了Java 随机生成任意组电话号码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • MapStruct实体间转换的简单用法

    MapStruct实体间转换的简单用法

    今天小编就为大家分享一篇关于MapStruct实体间转换的简单用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论