Uso detalhado do mapa Yaml e configuração de lista

O objetivo do design da linguagem YAML (pronunciado / ˈjæməl /) é facilitar a leitura e a escrita humana. É essencialmente um formato de serialização de dados universal. Suas regras gramaticais básicas são as seguintes

  • Maiúsculas e Minúsculas
  • Use recuo para indicar relações hierárquicas
  • A tecla Tab não é permitida ao recuar, apenas espaços são permitidos.
  • O número de espaços recuados não é importante, desde que os elementos do mesmo nível estejam alinhados à esquerda
  • # Indica um comentário, deste caractere até o final da linha, que será ignorado pelo analisador.

Existem três estruturas de dados com suporte por YAML. Este artigo irá introduzir o uso de três estruturas de dados no Spring Boot

  • Objeto: uma coleção de pares de valores-chave, também conhecido como mapeamento / hashes / dicionário
  • Matriz: um conjunto de valores organizados em ordem, também conhecido como sequência / lista
  • Escalares: um valor único e indivisível

 Primeiro, usamos um único valor indivisível e valores de tipo List e Map separados como exemplos. A seguir está o código para o objeto Java:

@Configuration
@ConfigurationProperties(prefix = "microservice.baseyaml")
public class BaseYamlConfig {
    private String strVaule;
    private int intValue;
    private float floatValue;
    private boolean booleanValue;
    private List<String> listStrValue;
    private Map<String, String> mapStrValue;
    //getter setter方法省略
}

Precisamos configurar as propriedades do objeto Java acima em application.yaml, um exemplo é o seguinte:

microservice:
  baseyaml:
    strVaule: strVaule
    intValue: 10
    floatValue: 8.5
    booleanValue: false
    listStrValue:
      -a
      -b
      -c
      -d
    mapStrValue:
      name: pharos
      age: 25

A partir da configuração acima, podemos ver que geralmente um único valor é configurado usando a forma de campo: valor, enquanto o valor do tipo Lista é configurado usando vários valores, e o valor do tipo Mapa é configurado usando o campo: chave: Se o valor for configurado, vários key: values ​​podem ser configurados. A configuração acima é a configuração yaml mais simples e básica. A seguir entendemos a configuração complexa, ou seja, o tipo de objeto é armazenado na configuração, ou os objetos são armazenados em Lista e Mapa. ​​A seguir está o código Java:

@Configuration
@ConfigurationProperties(prefix = "microservice.objectyaml")
public class ObjectYamlConfig {
    private ConfigPojo configPojo;
    private List<ConfigPojo> list;
    private Map<String,ConfigPojo> map;
    //getter settter方法省略
}
public class ConfigPojo {
    private String strVaule;
    private int intValue;
    private float floatValue;
    private boolean booleanValue;
    private List<String> listStrValue;
    private Map<String, String> mapStrValue;
    //getter settter方法省略
}

Então, a configuração do yaml do código acima é a seguinte. Na verdade, a configuração é relativamente simples. A regra é que Lista usa-separação e Mapa usa chave: tipo de valor. A configuração é a seguinte:

microservice:
  objectyaml:
    configPojo:
      strVaule: strVaule
      intValue: 10
      floatValue: 8.5
      booleanValue: false
      listStrValue:
        -a
        -b
        -c
        -d
      mapStrValue:
        name: pharos
        age: 25
    list:
      -
       strVaule: strVaule
       intValue: 10
       floatValue: 8.5
       booleanValue: false
       listStrValue:
        -a
        -b
        -c
        -d
       mapStrValue:
        name: pharos
        age: 25
      -
       strVaule: strVaule
       intValue: 10
       floatValue: 8.5
       booleanValue: false
       listStrValue:
        -a
        -b
        -c
        -d
       mapStrValue:
        name: pharos
        age: 25
    map:
      a:
       strVaule: strVaule
       intValue: 10
       floatValue: 8.5
       booleanValue: false
       listStrValue:
        -a
        -b
        -c
        -d
       mapStrValue:
        name: pharos
        age: 25
      b:
       strVaule: strVaule
       intValue: 10
       floatValue: 8.5
       booleanValue: false
       listStrValue:
        -a
        -b
        -c
        -d
       mapStrValue:
        name: pharos
        age: 25
      

Relativamente falando, a configuração yaml é mais clara do que a configuração application.properties. Pode-se ver a que tipo de campos de configuração pertencem. Existem menos configurações complexas no Spring Boot, mas existem muitas configurações que correspondem ao tipo de objeto no Spring Cloud. Entender o uso da configuração do yaml ajuda a entender a análise da configuração no SpringBoot ou Spring Cloud.

Acho que você gosta

Origin blog.csdn.net/wk19920726/article/details/109073720
Recomendado
Clasificación