Sobes.tech
Назад к вопросам
Junior — Middle
65

Всегда ли вызывать метод, аннотированный @PostConstruct, при создании синглтон-бина в Spring?

Компании, где спрашивали
Stroki

Ответ от нейросети

sobes.tech AI

Метод, аннотированный @PostConstruct, вызывается контейнером Spring один раз после создания бина и внедрения всех зависимостей, но до того, как бин будет доступен для использования. Для синглтон-бинов этот метод вызывается всегда при инициализации контекста, если бин создаётся сразу (по умолчанию Spring создаёт синглтоны при старте контекста). Однако, если бин лениво инициализируется (@Lazy), метод @PostConstruct вызовется только при первом обращении к этому бину.

Таким образом, метод @PostConstruct вызывается при создании синглтон-бина, если бин действительно создаётся (не лениво). Если бин не создаётся (например, не используется и ленивый), метод не вызовется.