tgoop.com/BookJava/3928
Create:
Last Update:
Last Update:
🧠 Как ускорить Spring Boot при старте: spring-context-indexer
При старте Spring Boot-приложения много времени уходит на classpath scanning. Даже если вы используете @ComponentScan
, Spring всё равно перебирает кучу классов в поиске бин-кандидатов. Это рефлексивно и медленно.
📌 Есть способ это оптимизировать — spring-context-indexer
.
🔧 Что делать
1. Добавьте зависимость в pom.xml
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-indexer</artifactId>
<version>6.1.3</version> <!-- актуальная для Spring Boot 3 -->
<optional>true</optional>
</dependency>
2. Всё! Spring Boot на этапе компиляции сгенерирует индекс классов с аннотациями (
@Component
, @Service
, @Repository
, и т.п.) в META-INF/spring.components
.3. При старте приложения Spring сначала смотрит в индекс, а не сканирует classpath целиком.
💡 Полезно, если:
- У вас много модулей;
- Вы используете fat JAR;
- Приложение долго стартует и важна скорость.
⚠️ Важно
- Работает только с аннотациями Spring, не с кастомными;
- Не забудьте включить annotation processing в IDE (особенно в IntelliJ:
Settings → Build, Execution, Deployment → Compiler → Annotation Processors
).📊 Профит: в крупных проектах — до 30–50% ускорения старта.
👉@BookJava
BY Библиотека Java разработчика

Share with your friend now:
tgoop.com/BookJava/3928