Junior — Middle
A Spring konténer irányítja-e a scope='prototype' típusú Bean példány életciklusát?
sobes.tech MI
Válasz az MI-től
Контейнер Spring не контролирует полный жизненный цикл экземпляров Bean с областью видимости prototype. При таком scope Spring создает новый экземпляр бина каждый раз при запросе, но после создания и инициализации контейнер не управляет дальнейшей судьбой объекта — его уничтожение и другие этапы жизненного цикла должны контролироваться самим клиентским кодом.
Это отличается от синглтон-бинов, для которых Spring управляет полным жизненным циклом, включая вызов методов инициализации и уничтожения.
Если нужно управлять жизненным циклом prototype-бина, можно использовать интерфейс DisposableBean и вручную вызывать методы очистки, либо применять кастомные решения.