0 Tage Serie
java / expert
Snippet

Zusammengesetzte Bean-Verdrahtung mit AnyNestedCondition

AnyNestedCondition ist ein fortgeschrittenes Spring Boot Feature, das logische 'ODER'-Verknüpfungen mehrerer Bedingungen ermöglicht. Es ist essenziell für komplexe Auto-Konfigurationsmodule, die nur aktiviert werden sollen, wenn eines von mehreren Umgebungs-Setups erkannt wird.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
public class CloudOrDevCondition extends AnyNestedCondition {
public CloudOrDevCondition() {
super(ConfigurationPhase.REGISTER_BEAN);
}
@ConditionalOnProperty(name = "env.mode", havingValue = "cloud")
static class OnCloud {}
@ConditionalOnProperty(name = "env.mode", havingValue = "dev")
static class OnDev {}
}
spring
Erklärung
1
extends AnyNestedCondition
Erbt die Logik, um wahr zu evaluieren, wenn mindestens eine Bedingung der verschachtelten statischen Klassen zutrifft.
2
@ConditionalOnProperty(...)
Standard-Spring-Bedingungen, die intern verschachtelt sind, um die logischen Zweige zu definieren.