Sobes.tech
Junior — Middle
84

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

Сұралған компаниялар
Stroki

AI-дан жауап

sobes.tech AI

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

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