Sobes.tech
Junior — Middle
125

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

Отговор от AI

sobes.tech AI

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

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

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

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

Пример:

@Component
public class MyBean {

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

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