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

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