Sobes.tech
Назад к вопросам
Junior — Middle
53

Каким образом реализовать механизм ленивой инициализации компонента в Spring?

Компании, где спрашивали
Firecode

Ответ от нейросети

sobes.tech AI

В Spring механизм ленивой инициализации позволяет создавать бины не при старте контекста, а только при первом обращении к ним. Это помогает оптимизировать время запуска приложения и экономить ресурсы.

Для реализации ленивой инициализации компонента можно использовать аннотацию @Lazy:

@Component
@Lazy
public class MyComponent {
    // код компонента
}

Или применить @Lazy к конкретному бину в конфигурации:

@Bean
@Lazy
public MyComponent myComponent() {
    return new MyComponent();
}

Также можно включить ленивую инициализацию для всего контекста в настройках Spring Boot, добавив в application.properties:

spring.main.lazy-initialization=true

Это заставит Spring создавать все бины лениво, по мере необходимости.