Встречается на собеседованиях • сегодня

Выполнится ли метод с аннотацией PreDestroy у Bean с Prototype Scope в Spring

Метод с аннотацией @PreDestroy не выполняется для бинов с prototype scope в Spring. Spring управляет полным жизненным циклом только для бинов с singleton scope, включая вызов методов @PostConstruct и @PreDestroy. Для prototype бинов Spring лишь создаёт экземпляр, настраивает его и передаёт клиенту, но не отслеживает его дальнейшую жизнь. Уничтожение prototype-бина — ответственность клиента.

Пример:

java
@Component
@Scope("prototype")
public class PrototypeBean {
    @PreDestroy
    public void cleanup() {
        System.out.println("Этот метод не будет вызван!");
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы