Sobes.tech
Back to questions
Junior — Middle
58

Что произойдет с методом, отмеченным аннотацией @PreDestroy, если он принадлежит прототипу бина в Spring?

Companies where asked
ylab

Answer from AI

sobes.tech AI

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

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