Sobes.tech
Back to questions
Junior — Middle
58

Какое поведение метода destroy у бина с областью действия prototype в Spring Framework?

Companies where asked
Firecode

Answer from AI

sobes.tech AI

В Spring Framework бин с областью действия prototype создаётся заново при каждом запросе, и контейнер не управляет его жизненным циклом после создания. Это значит, что метод destroy (например, помеченный аннотацией @PreDestroy) не вызывается автоматически для prototype-бинов.

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

В отличие от singleton-бинов, для которых Spring вызывает методы инициализации и уничтожения автоматически, prototype-бины требуют явного управления жизненным циклом после создания.