application.yml的集合写法在application.properties怎么写

简介: application.yml的集合写法在application.properties怎么写

配置类:



/**
 * @author <a href="https://github.com/binarywang">Binary Wang</a>
 */
@Data
@Component
@ConfigurationProperties(prefix = "wx.miniapp")
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;
    }

}

application.yml


wx:
  miniapp:
    configs:
      - appid: xxx #微信小程序的appid
        secret: xxx #微信小程序的Secret
        token: xxx #微信小程序消息服务器配置的token
        aesKey: xxx #微信小程序消息服务器配置的EncodingAESKey
        msgDataFormat: JSON

测试类输出:






@RunWith(SpringRunner.class)
@SpringBootTest
public class PropertiesTest {

    @Autowired
    private WxMaProperties properties;


    @Test
    public void getProperties() {
        List<WxMaProperties.Config> configs = properties.getConfigs();
        System.out.println(configs);
    }
}

结果:

[WxMaProperties.Config(appid=xxx, secret=xxx, token=xxx, aesKey=xxx, msgDataFormat=JSON)]

application.properties写法:

wx.miniapp.configs[0].appid = xxx

wx.miniapp.configs[0].secret    = xxx

wx.miniapp.configs[0].token = xxx
wx.miniapp.configs[0].aesKey = xxx
wx.miniapp.configs[0].msgDataFormat = JSON

测试类输出结果:

[WxMaProperties.Config(appid=xxx, secret=xxx, token=xxx, aesKey=xxx, msgDataFormat=JSON)]

解释:
application.yml里的 每一个 “-” 可以理解为一个对象。对象里有 appid、secret、 token、aesKey、msgDataFormat 这些属性。

这种写法在application.properties可以用[0] 来代替。我们知道,数组下标从0开始,因此,[数字]里的每一个数字就相当于application.yml里的一个 “-”。

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
安全 NoSQL API
【漏洞复现】YApi NoSQL注入导致远程命令执行漏洞
YApi是一个API管理工具。在其1.12.0版本之前,存在一处NoSQL注入漏洞,通过该漏洞攻击者可以窃取项目Token,并利用这个Token执行任意Mock脚本,获取服务器权限。
3834 1
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
4994 17
|
存储 缓存 NoSQL
Redis多级缓存指南:从前端到后端全方位优化!
本文探讨了现代互联网应用中,多级缓存的重要性,特别是Redis在缓存中间件的角色。多级缓存能提升数据访问速度、系统稳定性和可扩展性,减少数据库压力,并允许灵活的缓存策略。浏览器本地内存缓存和磁盘缓存分别优化了短期数据和静态资源的存储,而服务端本地内存缓存和网络内存缓存(如Redis)则提供了高速访问和分布式系统的解决方案。服务器本地磁盘缓存因I/O性能瓶颈和复杂管理而不推荐用于缓存,强调了内存和网络缓存的优越性。
1542 47
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
785 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
传感器 存储 自动驾驶
自动驾驶系统的示例和关键组成
【10月更文挑战第5天】本文介绍了使用SysML系统工具设计自动驾驶汽车内部组件的方法,重点在于通过内部块图(IBD)详细展示各子系统(如感知、控制、导航和动力系统)的内部结构及它们之间的交互。IBD不仅定义了各部件的接口和连接,还支持递归分解,有助于理解系统结构和设计接口,促进系统集成。通过端口、连接器等元素,IBD清晰展现了数据和物理流在部件间的通信方式。
526 1
|
PHP Apache
文件上传--Upload-labs--Pass10--双写绕过
文件上传--Upload-labs--Pass10--双写绕过
|
Web App开发 JSON 安全
【漏洞复现】Yapi接口管理平台远程代码执行漏洞
Yapi接口管理平台远程代码执行漏洞,攻击者可通过特定Payload对目标实施恶意攻击,获取敏感信息,操控服务器指令。
2264 1
|
前端开发 JavaScript 程序员
推荐给前端程序员的5款浏览器插件
推荐给前端程序员的5款浏览器插件
453 0
|
资源调度
umi如何利用postcss-px-to-viewport做移动端布局?
先下载postcss-px-to-viewport npm i postcss-px-to-viewport yarn add postcss-px-to-viewport
668 1
|
NoSQL 测试技术 Redis
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
503 0

热门文章

最新文章