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-бины требуют явного управления жизненным циклом после создания.