web-dev-qa-db-fra.com

application.yml vs application.properties pour Spring Boot

Dans mon projet, j'utilise actuellement application.yml pour la configuration. Spring Initializr génère application.properties? Quels sont les avantages/inconvénients pour chacun?

37
cupakob

Eh bien, ce ne sont que des formats de données différents. Lequel est le plus agréable et le plus facile à lire? C'est évidemment subjectif. Voici un article de blog utile.

En ce qui concerne la configuration de spring-boot, notez qu'il n'y a qu'un seul inconvénient documenté de l'utilisation de YAML. Selon le documentation :

Les fichiers YAML ne peuvent pas être chargés via l'annotation @PropertySource. Ainsi, dans le cas où vous devez charger des valeurs de cette manière, vous devez utiliser un fichier de propriétés.

44
YoungSpice

Une différence notable est la façon dont les propriétés sont représentées dans chaque fichier. Les fichiers YAML peuvent utiliser des espaces cohérents pour indiquer la hiérarchie, tandis que le fichier de propriétés peut utiliser = pour indiquer les valeurs de la propriété.

Par ex.

Les listes sont représentées hiérarchiquement dans YAML:

en-têtes:

  - user-agent
  - x-wag-diagonalsize

Les listes peuvent être représentées sous forme de liste en ligne (séparées par des virgules) dans un fichier de propriétés:

en-têtes = utilisateur-agent, x-wag-diagonalsize

Une autre différence est que nous pouvons ajouter plusieurs fichiers de configuration dans un seul fichier yaml.

Par exemple, nous pouvons ajouter application.yaml (propriétés spécifiques à l'application) et bootstrap.yaml (propriétés spécifiques au serveur) dans un seul fichier config.yaml.

1
Parthiban