Sobes.tech
Junior — Middle
151

Lehet-e meghívni a @PreDestroy annotációval ellátott metódust a Spring-ben a prototype típusú bean esetén?

Cégeket kérdeztek
СБЕРСБЕР

Válasz az MI-től

sobes.tech MI

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

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

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