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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。