Back to questions
Junior — Middle
52
Каким образом реализовать механизм ленивой инициализации компонента в Spring?
Companies where asked
Firecode
Answer from AI
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 создавать все бины лениво, по мере необходимости.