Sobes.tech
Junior — Middle

¿Siempre debe llamarse al método anotado con @PostConstruct al crear un singleton bean en Spring?

sobes.tech AI

Respuesta de la IA

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

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