sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
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
<p>miniapp.configs[1].appid = 111<br>
miniapp.configs[1].secret = 222<br>
miniapp.configs[1].token = 333<br>
miniapp.configs[1].aesKey = 444<br>
miniapp.configs[1].msgDataFormat = JSON</p>

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

yml如果配置普通字符串

1
2
3
4
5
6
7
8
9
10
11
12
miniapp:
    configs:
        - appid: 111
          secret: 222
          token: 333
          aesKey: 444
          msgDataFormat: JSON
        - appid: 111
          secret: 222
          token: 333
          aesKey: 444
          msgDataFormat: JSON

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

下面展示类代码的写法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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

1
@ConfigurationProperties(prefix = "miniapp")

prefix 这个前缀一定要写对

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

.properties和.yml的写法区别

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

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

1
2
3
4
5
6
spring: 
   redis: 
      cluster: 
         nodes: 
            - 192.168.0.1:6379 
            - 192.168.0.2:6379

示例:2

1
2
3
4
5
6
7
environments:
    dev:
        url: http://dev.bar.com
        name: Developer Setup
    prod:
        url: http://foo.bar.com
        name: My Cool App

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

1
2
3
4
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:

1
2
3
4
my:
   servers:
 - dev.bar.com
 - foo.bar.com

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

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

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


相关文章

https://www.qb5200.com/article/480892.html
posted on   sunny123456  阅读(3554)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示