@ComponentScan, чтобы случайно не просканировать целиком весь пакет.Предположим, вы пишете что-то вроде
@ComponentScan("com.mycompany"), хотя на самом деле нужно сканировать только часть подпакетов com.mycompany:- Увеличивается время сканирования classpath
- Замедляется старт приложения
- Подтягиваются классы, которые вообще не должны регистрироваться как Spring-бины
Лучшие практики:
Полагайтесь на дефолты:
@SpringBootApplication
public class MyApplication { }
По умолчанию Spring сканирует только подпакеты пакета, в котором лежит MyApplication.
Сканируйте конкретные подпакеты:
@ComponentScan({
"com.mycompany.myapp.product",
"com.mycompany.myapp.order"
})👉 Java Portal