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

Как влияет Bean Scope на выполнение метода, помеченного аннотацией PreDestroy

Bean Scope определяет жизненный цикл бина, что напрямую влияет на вызов метода с @PreDestroy.

  • Singleton (@Scope("singleton")): метод @PreDestroy вызывается при завершении работы контекста Spring.
  • Prototype (@Scope("prototype")): Spring не управляет полным жизненным циклом бина, поэтому @PreDestroy не вызывается.
  • Request/Session/Application (веб-скопы): метод вызывается при завершении соответствующего контекста (завершение HTTP-запроса, сессии и т.д.).

Пример:

java
@Component
@Scope("singleton")
public class MyBean {
    @PreDestroy
    public void cleanup() {
        System.out.println("Destroying singleton bean");
    }
}

Для prototype-бинов нужно явно вызывать cleanup через DisposableBean или кастомный интерфейс.

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

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

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

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