BOOKJAVA Telegram 3928
🧠 Как ускорить 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
👍64



tgoop.com/BookJava/3928
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." Polls A vandalised bank during the 2019 protest. File photo: May James/HKFP.
from us


Telegram Библиотека Java разработчика
FROM American