Встречается на собеседованиях • сегодня

Какие знаешь виды @Conditional

В Spring Boot есть несколько аннотаций @Conditional, которые позволяют управлять созданием бинов в зависимости от условий:

  1. @ConditionalOnClass - бин создается, если указанный класс присутствует в classpath
java
@ConditionalOnClass(name = "com.example.SomeClass")
  1. @ConditionalOnMissingClass - обратное условие, бин создается если класс отсутствует
  1. @ConditionalOnBean - бин создается, если в контексте уже есть указанный бин
java
@ConditionalOnBean(DataSource.class)
  1. @ConditionalOnMissingBean - бин создается, если указанного бина нет в контексте

  2. @ConditionalOnProperty - проверяет значение property

java
@ConditionalOnProperty(name="feature.enabled", havingValue="true")
  1. @ConditionalOnExpression - позволяет использовать SpEL выражения
java
@ConditionalOnExpression("#{environment.getProperty('mode') == 'prod'}")
  1. @ConditionalOnWebApplication / @ConditionalOnNotWebApplication - проверяет тип приложения

  2. @ConditionalOnResource - проверяет наличие ресурса в classpath

  3. @ConditionalOnJava - проверяет версию JVM

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы