Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Spring: configuration, component

Для чего нужны @Configuration и @ComponentScan?

Вопрос проверяет понимание Java-конфигурации Spring и механизма поиска бинов.

Короткий ответ

@Configuration обозначает класс как источник конфигурации Spring.
@ComponentScan указывает, какие пакеты нужно сканировать для поиска бинов.
Вместе они позволяют полностью отказаться от XML-конфигурации.
Spring использует их для построения контекста приложения.
Это основа современной конфигурации Spring.

Длинный ответ

@Configuration

@Configuration сообщает Spring, что класс:

  • содержит определения бинов

  • используется для конфигурации контекста

@Configuration
class AppConfig {

    @Bean
    UserService userService() {
        return new UserService();
    }
}

Особенность:

  • методы @Bean вызываются через прокси

  • гарантируется singleton-поведение

@ComponentScan

@ComponentScan указывает Spring:

  • какие пакеты сканировать

  • где искать @Component, @Service, @Repository

@ComponentScan("com.example.app")

Как они работают вместе

Обычно используется связка:

  • @Configuration — источник конфигурации

  • @ComponentScan — автоматическое обнаружение бинов

В Spring Boot чаще всего:

  • используется @SpringBootApplication

  • она уже включает @ComponentScan

Вывод

@Configuration и @ComponentScan — фундамент Java-based конфигурации Spring. Они определяют, что и откуда попадёт в контейнер.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Spring

    Spring

Ключевые слова

#configuration

#component

Подпишись на Java Developer в телеграм