For us to be able to pre-process an ApplicationContext at build-time, we need a way to "refresh" it up to a point where it is ready to create bean instances, this includes:
- Prepare the
BeanFactory - Invoke
BeanDefinitionRegistryPostProcessorimplementations - Invoke
MergedBeanDefinitionPostProcessorimplementations (note that these are special extensions ofBeanPostProcessorthat operates at the (merged)BeanDefinitionlevel