Spring Boot bietet einen nahtlosen Ansatz zur Nutzung von Umgebungsvariablen in Konfigurationsdateien, was die Konfiguration von Anwendungen je nach Umgebung vereinfacht. Durch die Verwendung von Platzhaltern können Entwickler Umgebungsvariablen einbinden und Default-Werte definieren, um eine hohe Flexibilität und Robustheit der Anwendungskonfiguration zu gewährleisten.
Umgebungsvariablen können direkt in
application.properties oder application.yml
Konfigurationsdateien eingebunden werden, indem man die Syntax
${UMGEBUNGSVARIABLE} verwendet. Spring Boot löst diese
Platzhalter automatisch auf, indem es die Werte der entsprechenden
Umgebungsvariablen verwendet.
application.propertiesapp.message=${MESSAGE:Hallo Welt!}
server.port=${PORT:8080}
application.ymlapp:
message: ${MESSAGE:Hallo Welt!}
server:
port: ${PORT:8080}In diesen Beispielen wird der Wert der Umgebungsvariablen
MESSAGE zur Konfiguration der Anwendungsnachricht und
PORT für den Serverport verwendet. Falls die
Umgebungsvariablen nicht gesetzt sind, werden die Default-Werte
Hallo Welt! und 8080 verwendet.
Spring Boot-Anwendungen können auf das Fehlen von Konfigurationswerten reagieren, indem sie bedingte Logik in der Anwendung verwenden oder die Spring Boot-eigene Unterstützung für bedingte Konfiguration nutzen.
@Configuration
public class AppConfig {
@Value("${app.missingVariable:}")
private String missingVariable;
@Bean
@ConditionalOnExpression("'${app.missingVariable:}'.length() > 0")
public MyBean myBean() {
return new MyBean(missingVariable);
}
}Hier wird die Bean MyBean nur erstellt, wenn
app.missingVariable gesetzt und nicht leer ist. Diese
Technik ermöglicht eine flexible Konfiguration und Initialisierung von
Anwendungskomponenten basierend auf der Verfügbarkeit von
Konfigurationswerten.