经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
基于springBoot配置文件properties和yml中数组的写法
来源:jb51  时间:2021/11/29 10:50:27  对本文有异议

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

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

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

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

  1. miniapp.configs[0].appid = 111111
  2. miniapp.configs[0].secret= 222222
  3. miniapp.configs[0].token = 333333
  4. miniapp.configs[0].aesKey = 444444
  5. miniapp.configs[0].msgDataFormat = JSON
  6. miniapp.configs[1].appid = 111
  7. miniapp.configs[1].secret = 222
  8. miniapp.configs[1].token = 333
  9. miniapp.configs[1].aesKey = 444
  10. miniapp.configs[1].msgDataFormat = JSON

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

yml如果配置普通字符串

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

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

下面展示类代码的写法:

  1. package com.platform.miniprogram;
  2. import lombok.Data;
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. import org.springframework.stereotype.Component;
  5. import java.util.List;
  6. /**
  7. * @Classname WxMaProperties
  8. * @Description TODO
  9. * @Date 2020/10/10 10:48
  10. * @Created by lyc
  11. */
  12. @Data
  13. @ConfigurationProperties(prefix = "miniapp")
  14. @Component
  15. public class WxMaProperties {
  16. private List<Config> configs;
  17. @Data
  18. public static class Config {
  19. /**
  20. * 设置微信小程序的appid
  21. */
  22. private String appid;
  23. /**
  24. * 设置微信小程序的Secret
  25. */
  26. private String secret;
  27. /**
  28. * 设置微信小程序消息服务器配置的token
  29. */
  30. private String token;
  31. /**
  32. * 设置微信小程序消息服务器配置的EncodingAESKey
  33. */
  34. private String aesKey;
  35. /**
  36. * 消息格式,XML或者JSON
  37. */
  38. private String msgDataFormat;
  39. }
  40. }

解释:

@Data就是省略了get/set方法你可以直接删掉写成get/set

  1. @ConfigurationProperties(prefix = "miniapp")

prefix 这个前缀一定要写对

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

.properties和.yml的写法区别

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

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

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

示例:2

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

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

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

YAML列表被表示成使用[index]间接引用作为属性keys的形式,例如下面的YAML:

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

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

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号