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

网友投稿 404 2022-09-12


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

目录springBoot配置文件properties和yml数组写法这两种方法你选择哪种都可以.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.surxaLEzGZXpringframework.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 configs;

@Data

public static class Config {

/**

* 设置微信小程序的appid

*/

private String appid;

/http://**

* 设置微信小程序的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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:个人理解网络中OSI分层参考模型(osi分层网络模型原因的描述)
下一篇:计算机网络之数据传输过程(数据的传输过程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~