Назад к вопросам
Junior — Middle
69
Будет ли выполнен PostBeanProcessor перед вызовом методов, аннотированных @PostConstruct?
Компании, где спрашивали
DCloud
Ответ от нейросети
sobes.tech AI
В Spring Framework методы, аннотированные @PostConstruct, вызываются после того, как все BeanPostProcessor были применены к бину, то есть после этапа пост-обработки бина.
Процесс инициализации бина примерно такой:
- Создание экземпляра бина.
- Внедрение зависимостей (DI).
- Вызов методов
BeanPostProcessor.postProcessBeforeInitialization. - Вызов методов, аннотированных
@PostConstruct. - Вызов методов
BeanPostProcessor.postProcessAfterInitialization.
Таким образом, PostBeanProcessor (если имеется в виду BeanPostProcessor) выполняется до вызова методов с @PostConstruct только в части postProcessBeforeInitialization. После @PostConstruct вызывается postProcessAfterInitialization.
Если же под "PostBeanProcessor" понимается именно postProcessAfterInitialization, то он выполняется после @PostConstruct.