Sobes.tech
Back to questions
Junior — Middle
82

Имел ли опыт использования аннотации @Conditional в своих проектах?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Аннотация @Conditional в Java, чаще всего используемая в Spring Framework, позволяет условно включать или исключать бины из контекста в зависимости от заданных условий. Это удобно для настройки конфигурации приложения под разные окружения или параметры.

Например, можно создать бин, который будет загружаться только если определённый класс присутствует в classpath или если задано определённое свойство.

Пример:

@Configuration
public class AppConfig {

    @Bean
    @ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
    public MyService myService() {
        return new MyService();
    }
}

В этом примере бин myService создаётся только если в настройках приложения свойство feature.enabled установлено в true. Это позволяет гибко управлять поведением приложения без изменения кода.