Sobes.tech
Senior
67

Gdzie Spring Boot szuka komponentów, jeśli nie ma @ComponentScan?

Firmy, w których zadano pytania
IT OneIT One

Odpowiedź od AI

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 и всех его подпакетах.