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

Выполнится ли всегда метод с аннотацией PostConstruct у Bean с Singleton Scope в Spring

Да, метод с @PostConstruct у бина с Singleton Scope всегда выполняется один раз при инициализации контекста Spring, если:

  1. Бин успешно создан (нет исключений в конструкторе или фабричном методе).
  2. Контекст Spring не закрыт до вызова метода (например, через close()).

Пример:

java
@Component
public class MySingletonBean {
    @PostConstruct
    public void init() {
        System.out.println("PostConstruct executed!");
    }
}

Нюансы:

  • Не вызывается, если бин создан через new (вне контекста Spring).
  • Для ленивых бинов (@Lazy) — выполнится при первом обращении.
  • При @DependsOn порядок вызова зависит от зависимостей.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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