IOC контейнер в Spring поддерживает и eager-инициализацию, и ленивую загрузку бинов, что даёт гибкость в зависимости от требований приложения.
Eager-инициализация — это поведение по умолчанию в IOC контейнерах Spring. Ключевые характеристики:
Ленивая загрузка откладывает создание бина до первого использования. Ключевые характеристики:
Ты можешь управлять стратегией загрузки бина с помощью аннотации @Lazy:
@Configuration
public class BeanConfig {
@Bean
@Lazy
public MyService lazyService() {
return new MyService();
}
@Bean
public MyOtherService eagerService() {
return new MyOtherService();
}
}
NoSuchBeanDefinitionException при работе с ленивыми бинамиПо умолчанию Spring IOC контейнеры используют ленивую загрузку для всех singleton бинов, откладывая их инстанцирование до момента, когда приложение явно их запросит.
Новый — ещё не проверен сообществом
Вы