Sobes.tech
Назад к вопросам
Junior — Middle
67

Как часто срабатывает метод, аннотированный @PreDestroy, при завершении жизненного цикла бина в Spring?

Ответ от нейросети

sobes.tech AI

Метод, аннотированный @PreDestroy в Spring, вызывается один раз при завершении жизненного цикла бина, то есть перед его уничтожением контейнером Spring.

Это происходит в следующих случаях:

  • При остановке приложения или контекста Spring.
  • При удалении скоупа бина (например, для скоупа сессии или запроса).

@PreDestroy используется для освобождения ресурсов, закрытия соединений, сохранения состояния и других завершающих операций.

Пример:

@Component
public class MyBean {

    @PreDestroy
    public void cleanup() {
        System.out.println("Bean is being destroyed");
        // освобождение ресурсов
    }
}

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