基于springBoot配置文件properties和yml中数组的写法
目录
- springBoot配置文件properties和yml数组写法
- 这两种方法你选择哪种都可以
- .properties和.yml的写法区别
springBoot配置文件properties和yml数组写法 这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合。
【基于springBoot配置文件properties和yml中数组的写法】以下是我springBoot中使用的 application.properties 文件
其实很好理解,我的configs是一个集合,configs[0].appid代表我配置的第一个对象中的appid的值
miniapp.configs[0].appid = 111111miniapp.configs[0].secret= 222222miniapp.configs[0].token = 333333miniapp.configs[0].aesKey = 444444miniapp.configs[0].msgDataFormat = JSON miniapp.configs[1].appid = 111miniapp.configs[1].secret = 222miniapp.configs[1].token = 333miniapp.configs[1].aesKey = 444miniapp.configs[1].msgDataFormat = JSON
这个是使用application.yml的方式,因为YAML 本身支持 list 类型,所以可以在 application.yml 文件中添加:
yml如果配置普通字符串
miniapp:configs:- appid: 111secret: 222token: 333aesKey: 444msgDataFormat: JSON- appid: 111secret: 222token: 333aesKey: 444msgDataFormat: 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")@Componentpublic class WxMaProperties { private Listconfigs; @Datapublic 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:6379spring.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.comname: Developer Setupprod:url: http://foo.bar.comname: My Cool App
上面的YAML文档会被转化到下面的属性中:
environments.dev.url=http://dev.bar.comenvironments.dev.name=Developer Setupenvironments.prod.url=http://foo.bar.comenvironments.prod.name=My Cool App
YAML列表被表示成使用[index]间接引用作为属性keys的形式,例如下面的YAML:
my:servers: - dev.bar.com - foo.bar.com
将会转化到下面的属性中:
my.servers[0]=dev.bar.commy.servers[1]=foo.bar.com
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- springboot使用redis缓存
- springboot整合数据库连接池-->druid
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- JavaScript|vue 基于axios封装request接口请求——request.js文件