Назад к вопросам
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 срабатывает ровно один раз за жизненный цикл бина, непосредственно перед его уничтожением.