基于springBoot配置文件properties和yml中数组的写法

目录
  • springBoot配置文件properties和yml数组写法
    • 这两种方法你选择哪种都可以
  • .properties和.yml的写法区别

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

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

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

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

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

miniapp.configs[1].appid = 111
miniapp.configs[1].secret = 222
miniapp.configs[1].token = 333
miniapp.configs[1].aesKey = 444
miniapp.configs[1].msgDataFormat = JSON

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

yml如果配置普通字符串

miniapp:
    configs:
        - appid: 111
          secret: 222
          token: 333
          aesKey: 444
          msgDataFormat: JSON
        - appid: 111
          secret: 222
          token: 333
          aesKey: 444
          msgDataFormat: 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")
@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

@ConfigurationProperties(prefix = "miniapp")

prefix 这个前缀一定要写对

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

.properties和.yml的写法区别

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

spring.redis.cluster.nodes[0]=192.168.0.1:6379
spring.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.com
        name: Developer Setup
    prod:
        url: http://foo.bar.com
        name: My Cool App

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

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:

my:
   servers:
 - dev.bar.com
 - foo.bar.com

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

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

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

(0)

相关推荐

  • 详解Spring Boot加载properties和yml配置文件

    一.系统启动后注入配置 package com.example.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframewo

  • SpringBoot获取yml和properties配置文件的内容

    (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor --> <dependency> <groupId>org.springframework.boot</groupId>

  • Spring Boot使用yml格式进行配置的方法

    1.yml 格式 现在大家发现,在springboot里还是要用到配置文件的. 除了使用.properties外,springboot还支持 yml格式. 个人觉得yml格式的可读性和..properties比起来差不多,有时候还没有不如properties 看起来那么规整. 但是考虑到很多springboot项目会使用yml格式,还是简单讲讲,主要目的还是为了读懂其他人的项目. 2.同样内容,不同写法 如图所示,左边是application.properties的写法,右边是applicati

  • 基于springBoot配置文件properties和yml中数组的写法

    目录 springBoot配置文件properties和yml数组写法 这两种方法你选择哪种都可以 .properties和.yml的写法区别 springBoot配置文件properties和yml数组写法 这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合. 以下是我springBoot中使用的 application.properties 文件 其实很好理解,我的configs是一个集合,configs[0].appid代表我配置的第一个对象中的appid的值 m

  • SpringBoot配置文件properties和yml的实现

    目录 配置文件的作用 SprintBoot的配置文件(两种): properties yml 读取配置文件的方法: @Value注解读取单个配置项 @ConfigurationProperties读取实体类 properties VS yml 总结 配置文件的作用 通常情况下,一个项目中的一些重要信息都会放在配置文件中,比如:数据库的连接信息.项目的启动端口.一些第三方的秘钥.记录信息的普通日志和异常日志等. SprintBoot的配置文件(两种): Spring Boot的配置文件主要有两种格

  • 基于SPRINGBOOT配置文件占位符过程解析

    这篇文章主要介绍了基于SPRINGBOOT配置文件占位符过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.配置文件占位符 1.application.properties server.port=8088 debug=false product.id=ID:${random.uuid} product.name=da mao mao product.weight=${random.int} product.fristLinePrice

  • SpringBoot配置文件方式,在线yml文件转properties

    目录 一.SpringBoot可以识别4种配置文件 二.配置文件优先级 1.后缀优先级 2.目录顺序优先级(从上至下) 三.分享一下yml与properties配置转换 一.SpringBoot可以识别4种配置文件 1.application.yml 2.application.properties 3.bootstrap.yml 4.bootstrap.properties 注: 在微服务框架SpringCloud下,SpringBoot才会识别bootstrap配置文件,单纯SpringBo

  • 基于springboot 配置文件context-path的坑

    目录 配置文件context-path的坑 context-path配置失效问题 配置文件context-path的坑 context-path: /manage 这个配置加入后会导致访问spring的页面都需要加这个/manage前缀,这个配置的作用是区分与spring重名的页面 context-path配置失效问题 springboot升级到2.0版本后 server.context-path就升级成了server.servlet.context-path:"/url" 以上为个人

  • Spring如何利用@Value注解读取yml中的map配置

    目录 @Value注解读取yml中的map配置 下边是我在yml中的map写法 使用时候注解的写法 举个例子 spring注解@Value通过yml文件注入map yml文件 java代码注入 @Value注解读取yml中的map配置 网上查了好多资料,都是.properties文件中读取,而且又是几个人抄来抄去,找了半天功夫不负有心人,终于找到了详尽的用法介绍. 下边是我在yml中的map写法 test:   map: '{"test1":"12345",&quo

  • SpringBoot读取properties或者application.yml配置文件中的数据

    读取application文件 在application.yml或者properties文件中添加: user.address=china user.company=demo user.name=让我康康 1.使用@Value注解读取 直接 代码如下: package im.homeapi.controller; import org.springframework.beans.factory.annotation.Value; import org.omg.CORBA.PUBLIC_MEMBE

  • 使用springboot配置文件yml中的map形式

    目录 springboot配置文件yml的map形式 1.yml中的格式 2.创建一个类 3.引用 4.打印 SpringBoot yaml文件map集合使用 yaml文件配置 配置文件对应的bean springboot配置文件yml的map形式 1.yml中的格式 tes: maps: {key1: 12,key2: 34} 或者 tes: maps: key1: 15 key2: 2 2.创建一个类 然后创建对应类型的字段(注意下这个类的那两个注释了的注解) package com.etc

  • Eclipse中Properties和yml配置文件注释乱码的解决

    目录 Eclipse中Properties和yml配置文件注释乱码 解决方案 eclipse中打开.yml文件老是报错的问题 在eclipse中打开.yml文件老是报错 我是这样子解决的 Eclipse中Properties和yml配置文件注释乱码 Properties默认的编码格式是ISO-8859-1,所以无论是粘贴有中文到Propertiest中还是手打中文注释,都会显示如下编码格式: 解决方案 步骤: Window—>Preferences—>General—>Content T

  • Springboot如何获取配置文件application.yml中自定义的变量并使用

    前言:在写项目中我们经常要将同样的变量在不同的文件中写无数次,这样修改起来要一通好找,非常不方便,平常都会写一个工具类存入自己的变量进行调用取值,但是呢,懒得写咋办,写了还要注入,注入失败又得.........麻烦,有没有办法写在配置文件中直接自定义变量通过注解的方式取值呢?肯定有啊. 正文: 一.在application.yml中配置自己的变量比如: person: name: '张三' age: '年龄25' home: '拥有房子1套' car: '轿车1辆' 二.使用注解取值并且使用 i

随机推荐