TGViewer
Библиотека Java разработчика Библиотека Java разработчика @bookjava · 10.1K subscribers
Post #3928 1.92K
🧠 Как ускорить 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
  • 👍 6
  • ❤ 4
More from @bookjava
  1. Sep 30, 2026Три похожих слова в Java — final, finally, finalize — но смысл у них совершенно разный. Ра…
  2. Sep 27, 2026🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking К…
  3. Sep 23, 2026Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкци…
  4. Sep 21, 2026📌 picocli — это современная библиотека для создания CLI-приложений на Java. Она упрощает…
  5. Sep 18, 2026Double-brace инициализация в Java — это идиома, которая используется для инициализации кол…
  6. Sep 16, 2026🧠@Value vs @ConfigurationProperties — не выбирай наобум Оба способа хороши для конфигурац…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →