Sobes.tech
Назад к вопросам
Senior
3

Где Spring Boot ищет компоненты, если нет @ComponentScan?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Если в Spring Boot-приложении не указана аннотация @ComponentScan, то фреймворк по умолчанию сканирует компоненты в том же пакете, где находится класс с аннотацией @SpringBootApplication (или @Configuration), и во всех его подпакетах.

Это значит, что структура пакетов и расположение главного класса приложения влияют на область сканирования. Если компоненты находятся вне этого дерева пакетов, их нужно явно указать через @ComponentScan.

Пример:

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

Здесь Spring Boot будет искать компоненты в пакете MyApplication и всех его подпакетах.