Junior — Middle
À quelle fréquence la méthode annotée avec @PreDestroy est-elle appelée lors de la fin du cycle de vie du bean dans Spring?
sobes.tech IA
Réponse de l'IA
Метод, аннотированный @PreDestroy в Spring, вызывается один раз при завершении жизненного цикла бина, то есть перед его уничтожением контейнером Spring.
Это происходит в следующих случаях:
- При остановке приложения или контекста Spring.
- При удалении скоупа бина (например, для скоупа сессии или запроса).
@PreDestroy используется для освобождения ресурсов, закрытия соединений, сохранения состояния и других завершающих операций.
Пример:
@Component
public class MyBean {
@PreDestroy
public void cleanup() {
System.out.println("Bean is being destroyed");
// освобождение ресурсов
}
}
Таким образом, метод с @PreDestroy срабатывает ровно один раз за жизненный цикл бина, непосредственно перед его уничтожением.