@Conditional разрешает регистрацию компонента только при выполнении условия. В Spring Boot есть специализированные варианты: @ConditionalOnProperty, @ConditionalOnClass и @ConditionalOnMissingBean.
Что делает аннотация @Conditional в Spring? Назовите 2–3 её варианта, с которыми вы сталкивались.
@Conditional разрешает регистрацию компонента только при выполнении условия. В Spring Boot есть специализированные варианты: @ConditionalOnProperty, @ConditionalOnClass и @ConditionalOnMissingBean.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
@Conditional разрешает регистрацию компонента только при выполнении условия. В Spring Boot есть специализированные варианты: @ConditionalOnProperty, @ConditionalOnClass и @ConditionalOnMissingBean.
Первый проверяет конфигурационное свойство, второй — наличие класса, третий — отсутствие подходящего бина. Например, интеграцию можно включать свойством, а стандартную реализацию создавать лишь при отсутствии пользовательской. @Profile тоже реализует условную регистрацию, но по активным профилям. Контракт @Conditional.