java / intermediate
Snippet
Typsichere Konfiguration mit @ConfigurationProperties
@ConfigurationProperties bietet eine typsichere Möglichkeit, externe Eigenschaften (z.B. aus der application.yml) auf Java-Objekte abzubilden. Dies ist der Verwendung von @Value überlegen, da es hierarchische Strukturen, Validierung und einfacheres Refactoring unterstützt.
snippet.java
1
2
3
4
5
6
7
8
9
10
11
12
@ConfigurationProperties(prefix = "app.security")@Componentpublic class SecurityConfig {private String apiKey;private List<String> allowedOrigins;// Getters and Setters are requiredpublic void setApiKey(String apiKey) { this.apiKey = apiKey; }public void setAllowedOrigins(List<String> origins) { this.allowedOrigins = origins; }public String getApiKey() { return apiKey; }public List<String> getAllowedOrigins() { return allowedOrigins; }}
spring
Erklärung
1
prefix = "app.security"
Entspricht Eigenschaften in der Konfigurationsdatei, die mit diesem Präfix beginnen.
2
List<String> allowedOrigins
Verarbeitet automatisch kommagetrennte Werte oder YAML-Listen in eine Java-Liste.
3
Getters and Setters
Werden von Spring benötigt, um Eigenschaften an die Felder der Klasse zu binden.