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
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.