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

Работает ли @PreDestroy метод у Prototype бинов

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

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

Пример:

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

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

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

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

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

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