Sobes.tech
Junior — Middle
119

Можно ли вызвать метод с аннотацией @PreDestroy у бина типа prototype в Spring?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

Поэтому методы с @PreDestroy не вызываются автоматически для бинов типа prototype. Если нужно выполнить очистку или освобождение ресурсов, то это должен делать сам клиент, который получил бин.

Если требуется, чтобы метод уничтожения вызывался автоматически, лучше использовать область singleton или управлять жизненным циклом вручную.