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

Управляет ли Spring жизненным циклом Bean, созданного со scope="prototype"

Spring управляет только созданием prototype-бинов, но не их жизненным циклом после создания. В отличие от singleton-бинов, Spring не вызывает методы жизненного цикла (например, @PostConstruct, @PreDestroy) для prototype-бинов после их создания.

Пример:

java
@Component
@Scope("prototype")
public class PrototypeBean {
    @PostConstruct
    public void init() {
        System.out.println("Этот метод вызовется только при создании бина");
    }
    
    @PreDestroy
    public void cleanup() {
        System.out.println("Этот метод НЕ будет вызван Spring");
    }
}

Для prototype-бинов:

  • Spring создает новый экземпляр при каждом запросе
  • @PostConstruct вызывается при создании
  • @PreDestroy НЕ вызывается автоматически
  • Клиентский код должен самостоятельно управлять уничтожением таких бинов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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