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

Будет ли вызван метод, помеченный как Prototype с аннотацией PreDestroy

Нет, метод с аннотацией @PreDestroy не будет вызван для бинов с областью видимости prototype.

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

Пример:

java
@Scope("prototype")
@Component
public class PrototypeBean {
    @PreDestroy
    public void cleanup() {
        System.out.println("Этот метод не вызовется!");
    }
}

Если нужно освободить ресурсы, используйте ручное управление (например, DisposableBean или явный вызов метода).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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