Встречается на собеседованиях • сегодня
Работает ли @PreDestroy метод у Prototype бинов
Нет, @PreDestroy методы не вызываются для prototype бинов в Spring.
Причина: Spring управляет только созданием prototype бинов, но не их жизненным циклом. После передачи бина клиенту, контейнер больше не контролирует его уничтожение.
Пример:
java
@Component
@Scope("prototype")
public class PrototypeBean {
@PreDestroy
public void cleanup() {
System.out.println("Этот метод не вызовется!");
}
}Если требуется освобождение ресурсов, лучше использовать DisposableBean, @Bean(destroyMethod = "...") или явный вызов метода вручную.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы