Что такое аннотация @Conditional в Spring и для чего используется?
Ответ от нейросети
sobes.tech AI
Аннотация @Conditional в Spring используется для условного создания бинов или конфигураций в зависимости от заданных условий. Она позволяет включать или исключать компоненты из контекста приложения в зависимости от окружения, наличия классов, свойств и других факторов.
Например, можно создать бин только если определённый класс присутствует в classpath или если задано определённое свойство.
Пример использования:
@Configuration
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public class FeatureConfig {
// бин будет создан только если feature.enabled=true в свойствах
}
@Conditional — более общий механизм, на основе которого построены специализированные аннотации, такие как @ConditionalOnProperty, @ConditionalOnClass и другие. Внутри @Conditional указывается класс, реализующий интерфейс Condition, где описывается логика проверки условия.
Это позволяет гибко управлять конфигурацией приложения и создавать адаптивные настройки под разные среды и сценарии.