Spring Properties je nach Systemumgebung

Im Beitrag Properties in Spring 4 und Spring Boot haben wir die Properties für ein Spring-Projekt gesetzt. Nun wollen wir uns noch ein Beispiel ansehen, wie wir diese Properties je nach Systemumgebung durch Setzen eine JVM Parameters unterschiedlich einstellen können:

Eine von vielen Möglichkeiten, z.B. am Entwicklungsrechner andere Properties zu setzen als in der Produktivumgebung ist über einen JVM-Parameter. Diese beim Start der JVM mittels dem -D Parameter übergebenen Variablen können mit System.getProperty() abgerufen werden.

Im folgenden Codebeispiel wird davon ausgegangen, dass der JVM der Parameter -DDEV_ENV=true am Entwicklungsrechner mitgegeben wird. Dann laden wir zuerst die properties-Datei und können in einer dev.properties alle Parameter überschreiben, welche wir in der Entwicklungsumgebung unterschiedlich haben wollen: