java / intermediate
Snippet
Bedingte Bean-Registrierung
Mit @ConditionalOnProperty können Sie steuern, ob eine Bean im Spring-Kontext registriert wird, basierend auf Anwendungseigenschaften – ideal zum Ein- und Ausschalten von Features oder Mocks.
snippet.java
1
2
3
4
5
6
7
8
@Configurationpublic class ExternalApiConfig {@Bean@ConditionalOnProperty(name = "api.mock.enabled", havingValue = "false")public ApiService realApiService() {return new RealApiServiceImpl();}}
spring
Erklärung
1
@ConditionalOnProperty(...)
Prüft, ob 'api.mock.enabled' in der Konfiguration auf 'false' gesetzt ist, bevor diese Bean erstellt wird.
2
public ApiService realApiService()
Die Bean, die nur existiert, wenn die obige Bedingung erfüllt ist.