In meinem Projekt verwende ich derzeit application.yml
für die Konfiguration. Spring Initializr generieren application.properties
? Was sind die Vor- und Nachteile für jeden einzelnen?
spring-boot
properties
configuration
format
yaml
Cupakob
quelle
quelle
application.yaml
als auch eine bietetapplication.properties
? Kann ich das Zeug einfach in das.yaml
eine verschieben.properties
(Format nach Bedarf ändern) und erwarten, dass die Dinge weiterhin auf die gleiche Weise funktionieren?Schöne Frage, ich bin auch sofort damit verwechselt.
Kommt auf den Punkt, Nach meinem Wissen sind folgende Unterschiede,
1.) .properties-Datei: Sie speichert Daten im sequentiellen Format. .yml-Datei: Speichert Daten in hierarchischem Format.
2.) .properties-Datei: Sie unterstützt nur Schlüssel-Wert-Paare, im Wesentlichen Zeichenfolgenwerte. .yml-Datei: Unterstützt Schlüssel-Wert-Paare sowie Karten-, Listen- und Skalartypwerte .
3.) .properties-Datei: Diese Datei wurde speziell für JAVA verwendet. .yml-Datei: Dieser Dateityp wird von vielen Sprachen wie JAVA, Python, ROR usw. verwendet.
4.) Wenn Sie mehrere Profile verarbeiten möchten, .properties-Datei: In diesem Fall müssen Sie für jedes Profil eine eigene Datei verwalten. .yml-Datei: In diesem Dateityp müssen Sie nur eine einzelne Datei verwalten und Konfigurationsdaten eines bestimmten Profils darin ablegen .
5.) Für Spring-Projekte unterstützt die Datei .properties file:
@PropertySource
annotation diesen Dateityp. .yml-Datei: Die Annotation @PropertySource kann diesen Dateityp nicht unterstützen.Derzeit weiß ich nur über diese Punkte Bescheid !!!
quelle
.properties file
: Kann Schlüssel-Wert-Paare sowie Karten-, Listen- und Skalartypwerte unterstützen. + Punkt 3.properties file
kann mit jeder Sprache verwendet werdenEin bemerkenswerter Unterschied besteht darin, wie die Eigenschaften in jeder Datei dargestellt werden. YAML-Dateien können konsistente Leerzeichen verwenden, um die Hierarchie zu kennzeichnen, während die Eigenschaftendatei = verwenden kann, um Eigenschaftswerte zu bezeichnen.
Zum Beispiel.
Listen werden in YAML hierarchisch dargestellt:
Überschriften:
- user-agent - x-wag-diagonalsize
Listen können als Inline-Liste (durch Kommas getrennt) in einer Eigenschaftendatei dargestellt werden:
headers = user-agent, x-wag-diagonalsize
Ein weiterer Unterschied besteht darin, dass wir mehrere Konfigurationsdateien zu einer einzelnen Yaml-Datei hinzufügen können.
Zum Beispiel können wir application.yaml (anwendungsspezifische Eigenschaften) und bootstrap.yaml (serverspezifische Eigenschaften) zu einer einzigen config.yaml-Datei hinzufügen
quelle