Junior — Middle
Come implementare un meccanismo di inizializzazione lazy in un componente Spring?
sobes.tech AI
Risposta dell'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 создавать все бины лениво, по мере необходимости.