欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-02-23 09:41:48|栏目:JAVA代码|点击:

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

上一篇:Java8 使用CompletableFuture 构建异步应用方式

栏    目:JAVA代码

下一篇:图解JVM内存模型

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

本文地址:http://www.codeinn.net/misctech/194323.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有