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 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关文章
标签:
java
, spring boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)