Junior — Middle
Tudna példát mondani arra, mikor használják az @ConditionalOn annotációt a Spring kódban?
sobes.tech MI
Válasz az MI-től
Аннотация @ConditionalOn в Spring используется для условного создания бинов в контексте приложения. Она позволяет включать или отключать конфигурации и компоненты в зависимости от определённых условий, например, наличия класса, свойства, профиля и т.д.
Пример использования @ConditionalOnProperty:
@Configuration
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public class FeatureConfig {
@Bean
public FeatureService featureService() {
return new FeatureService();
}
}
В этом примере бин FeatureService будет создан только если в настройках приложения (application.properties или application.yml) установлено feature.enabled=true. Это удобно для включения или отключения функционала без изменения кода.