В Spring Boot не стоит бездумно писать что-то вроде: @ComponentScan("com.mycompany") На первый взгляд удобно: фреймворк сам просканирует весь пакет и найдет нужные компоненты. Но проблема в том, что он может просканировать слишком много. Это увеличивает время classpath scanning, замедляет старт приложения и иногда подтягивает классы, которые вообще не должны были становиться Spring-компонентами. Лучший вариант - полагаться на дефолтное поведение: @SpringBootApplication public class MyApplication { } По умолчанию Spring Boot сканирует только подпакеты того пакета, где лежит MyApplication. Если нужно явно ограничить область сканирования, указывай конкретные подпакеты: @ComponentScan({ "com.mycompany.myapp.product", "com.mycompany.myapp.order" }) Главная мысль простая: @ComponentScan должен быть точным. Чем шире границы сканирования, тем больше лишней работы делает приложение на старте. #SpringBoot #JavaDev #Java #Backend
✔️ Spring Boot может тормозить сам себя из-за одного неаккуратного @ComponentScan
14 мая14 мая
2
~1 мин