Kontext:
In Spring Boot ist das Laden von Eigenschaften aus externen Dateien möglich Dies ist für die Konfiguration einer Anwendung und die Verwaltung umgebungsspezifischer Einstellungen unerlässlich. Dieser Artikel befasst sich mit der Herausforderung, mehrere externe Konfigurationsdateien zu laden und gleichzeitig die im Klassenpfad gespeicherten Standardkonfigurationsdateien zu überschreiben.
Eigenschaftsauflösung verstehen:
Spring Boot folgt beim Laden einer bestimmten Reihenfolge und auflösende Eigenschaften:
Hinzufügen einer externen Konfiguration Dateien:
Um externe Konfigurationsdateien zu Ihrem Projekt hinzuzufügen, verwenden Sie die Eigenschaft spring.config.location, die eine durch Kommas getrennte Liste von Pfaden oder Verzeichnissen akzeptiert.
Spring Boot 1.x:
In Spring Boot 1.x hat die Eigenschaft spring.config.location lediglich die vorhandene Standardliste erweitert Dateien. Dies bedeutete, dass die externen Dateien keine Standardeinstellungen überschreiben würden, sofern nicht ausdrücklich angegeben.
Spring Boot 2.x und höher:
In Spring Boot 2.x und höher Das Verhalten von spring.config.location hat sich geändert. Es überschreibt jetzt die Standardeigenschaften, anstatt sie anzuhängen. Um die Standardkonfigurationen beim Hinzufügen externer Konfigurationen beizubehalten, verwenden Sie die Eigenschaft spring.config.additional-location.
Beispiel:
Um zwei externe Konfigurationsdateien zu laden und diese zu überschreiben jobspezifische Eigenschaften aus dem Standardsatz:
-Dspring.config.location=classpath:job1.properties,classpath:job2.properties -Dspring.config.additional-location=classpath:/src/main/resources/defaults.properties
In diesem Fall werden die Dateien job1.properties und job2.properties verwendet überschreiben alle auftragsbezogenen Eigenschaften, die in defaults.properties definiert sind. Die übrigen Eigenschaften in defaults.properties bleiben erhalten.
Das obige ist der detaillierte Inhalt vonWie lade ich mehrere externe Konfigurationsdateien und überschreibe Standardeinstellungen in Spring Boot?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!