Introduction à la configuration yaml dans Spring Boot

Un, yaml

Spring boot utilise un fichier de configuration global, qui est corrigé. Ce peut être application.xml ou application.yaml, placé dans le répertoire / resources ou / config

  • yaml: est un langage de balisage, centré sur les données, plus adapté aux fichiers de configuration que xml et json
  • Exemple de configuration XML:
  <server>
       <port> 8081</port>
   </server>
  • exemple de configuration yml:
     server:
        port: 8085
        path: /hello

 

2. écriture yaml

Syntaxe de référence: https://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-yamlsyntax
Variables littérales: valeur unique, indivisible (nombre, chaîne, booléen, date)

 

Objet, carte (clé: paire valeur-clé):

 

person:
     name: tom
     age: 18
personMap:
     username: herry
     age: 20

 

person:{name: tom,age: 18}

 

Tableau: liste, ensemble

 

ainamals:
 - dog
 - cat
 - snack

 

animals:[dog,cat,snack]

 

Trois, test yaml

1. Importez le processeur de fichier de configuration, il y aura une invite lors de l'écriture de la configuration

		<!-- 导入文件处理器,配置文件进行绑定的时候,就会有提示-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

 

2. haricot java

public class Dog {
 private String name;
 private Integer age;
 }
  /**
* 将配置文件中的每一个值,映射到这个组件中
*@ConfigurationProperties: 此注解表示告诉sprigboot将本类中的
*       所有属性和配置文件中相关配置进行一一绑定
*prefix = "person" :配置文件中的哪个进行绑定
*@Component: 只有是容器中的组件才会作用
*
*/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
 private String name;
 private Integer age;
 private Boolean boss;
 private Date birthday;

 private Map<String,Object> map;
 private List<Object> list;
 private Dog dog;
}

 

3. Injection de fichier de configuration

application.yml

person:
    name: tom
    age: 17
    boss: true
    birthday: 2018/01/12
    map:
      k1: v1
      k2: v2
    list:
      - cat
      - fish
      - dog
    dog:
      name: goodboy
      age: 3

 

application.properties

#配置properties属性
# idea properties默认是utf-8
person.name=tim
person.age=16
person.boss=false
person.birthday=2014/11/23
person.map.k1=v1
person.map.k2=22
person.list=cat,dog,fish
person.dog.name=goodboy
person.dog.age=3

 

4. Testez la classe, démarrez-la et observez si la console imprime

/**
 * Spring boot 单元测试
 *
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootHelloworldQuickApplicationTests {

	@Autowired
	Person person;
	@Test
	public void contextLoads() {
		System.out.println(person);
	}
}

 

L'utf-8 par défaut du fichier de configuration des propriétés dans idea peut être déformé

  • Référence grammaticale et adresse de vérification: http://www.yaml.org/ https://nodeca.github.io/js-yaml/
  • Deux, spécification de la syntaxe yaml

    1. Grammaire de base de yaml

  • Utiliser l'indentation pour indiquer les relations hiérarchiques
  • La touche Tab n'est pas autorisée lors de l'indentation, seuls les espaces sont autorisés. Espaces pour contrôler la hiérarchie
  • k: ( espace ) v: représente une paire de paires clé-valeur (des espaces doivent être présents );
  • Le nombre d'espaces en retrait n'est pas important, tant que les éléments du même niveau sont alignés à gauche
  • Sensible aux majuscules et minuscules
  • k: v: écrire directement littéralement
  • Chaîne:
    ne pas ajouter de guillemets simples ou doubles
    "": les guillemets doubles n'échappent pas aux caractères spéciaux de la chaîne, les caractères spéciaux exprimeront leur propre signification. Par exemple, "Li" Li Si \ n 20 ans "Sortie: Li Si enveloppe 20 ans
    '': guillemets simples; les caractères spéciaux seront échappés et les caractères spéciaux ne sont en fin de compte que des chaînes de caractères ordinaires. Comme" Li "Li Si \ n 20 Années "Sortie: Li Si \ n 20 ans
    • Fichier: plusieurs fichiers sont séparés par ---
  • L'objet est clé: valeur, séparé par deux points
  • Utilisez un espace après les deux points pour séparer la valeur de clé
  •  
  • Écriture en ligne:
  •  
  • - représente un élément du tableau
  • Tableaux et objets et utilisation combinée
  •  
  • Écriture en ligne
  •  
  •  
  •  
  •  
  •  
  •  

Je suppose que tu aimes

Origine blog.csdn.net/xulong5000/article/details/107409535
conseillé
Classement