Назад к вопросам
Senior
6
Расскажи жизненный цикл бина в Spring.
Компании, где спрашивали
СБК ПАРУС
Ответ от нейросети
sobes.tech AI
Жизненный цикл бина в Spring включает несколько этапов:
- Создание экземпляра — Spring создает объект бина, обычно через конструктор.
- Внедрение зависимостей — Spring внедряет необходимые зависимости (через конструктор, сеттеры или поля).
- Обработка интерфейсами BeanNameAware, BeanFactoryAware и т.п. — если бин реализует эти интерфейсы, Spring вызывает соответствующие методы, передавая контекст.
- Вызов методов @PostConstruct или afterPropertiesSet() — инициализация бина после установки всех свойств.
- Использование бина — бин готов к работе и может использоваться в приложении.
- Уничтожение бина — при завершении работы контекста Spring вызывает методы с аннотацией @PreDestroy или destroy() из интерфейса DisposableBean.
Пример с использованием аннотаций:
@Component
public class MyBean {
@PostConstruct
public void init() {
// инициализация после создания и внедрения зависимостей
}
@PreDestroy
public void cleanup() {
// очистка ресурсов перед уничтожением
}
}
Таким образом, Spring управляет жизненным циклом бина, обеспечивая создание, инициализацию, использование и корректное уничтожение.