Spring boot externe application.properties

8

Ich entwickle eine Spring-Boot-Anwendung

Ich möchte einige Eigenschaften in src/main/resources/application.properties mit einer externen Datei überschreiben (z. B. /etc/projectName/application.properties ).

Ich habe verschiedene Methoden ausprobiert:

  1. @PropertySource("file:/etc/projectName/application.properties") als Anmerkung bei ApplicationConfig.java

  2. spring.config.location=/etc/projectName/application.properties in meiner application.properties in resources

Ich habe es mit spring.port getestet. Die erste Methode hat nur Eigenschaften hinzugefügt, diese jedoch nicht überschrieben.

    
greenhalos 04.01.2015, 22:03
quelle

1 Antwort

15

Ich verwende --spring.config.location= immer in der Befehlszeile, wie in Dokumentation , und Sie können verschiedene Dateien einfügen, eine mit Standardwerten und eine andere mit den überschriebenen.

Bearbeiten:
Alternativ könnten Sie auch etwas wie:

verwenden %Vor%

und geben Sie einen external.config in Ihrer application.properties an.
Dies würde einen Standardpfad für die Overriding-Konfiguration bereitstellen, der selbst noch übersteuerbar ist, indem in der Befehlszeile ein --external.config angegeben wird.
Ich benutze dies mit ${external.config} als System-Umgebungsvariable definiert, aber es sollte auch mit einer application.properties-Variable funktionieren.

    
JR Utily 05.01.2015 08:57
quelle

Tags und Links