Встречается на собеседованиях • сегодня

Как уничтожаются бины

Бины в Spring уничтожаются при завершении работы контекста приложения. Процесс включает:

  1. Вызов destroy-методов:
    • Если бин реализует DisposableBean, вызывается его метод destroy()
    • Если указан custom destroy-method (через аннотацию @Bean(destroyMethod="...") или XML), он вызывается
  1. Порядок уничтожения:
    • Бины уничтожаются в порядке, обратном их созданию
    • Зависимые бины уничтожаются раньше, чем бины, от которых они зависят

Пример:

java
@Component
public class MyBean implements DisposableBean {
    @Override
    public void destroy() {
        System.out.println("Cleanup resources");
    }
    
    @PreDestroy
    public void preDestroy() {
        System.out.println("Pre-destroy logic");
    }
}

Сначала вызовется метод с @PreDestroy, затем destroy(). Для бинов с областью видимости prototype Spring не управляет их уничтожением - это ответственность клиентского кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы