Встречается на собеседованиях • сегодня
Как Spring определяет, какие бины нужно создать
Spring определяет бины для создания через сканирование компонентов (@ComponentScan) и явное объявление (@Bean).
- Сканирование компонентов:
Spring ищет классы с аннотациями@Component,@Service,@Repository,@Controllerв пакетах, указанных в@ComponentScan.
-
Явное объявление:
Бины могут быть определены в конфигурационных классах (@Configuration) с помощью@Bean. -
Условия создания:
@Conditionalи его производные (@Profile,@ConditionalOnClass) позволяют управлять созданием бина в зависимости от условий.
Пример:
java
@Configuration
@ComponentScan("com.example")
public class AppConfig {
@Bean
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public MyService myService() {
return new MyService();
}
}Spring создаст бин MyService, только если в настройках установлено feature.enabled=true.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы