Sobes.tech
Junior — Middle

Mi a destroy metódus viselkedése egy prototype scope-ú bean esetén a Spring Framework-ben?

sobes.tech MI

Válasz az MI-től

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

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

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