NOTE
Spring IoC Source: Registering BeanPostProcessors
Why BeanPostProcessors must be registered before ordinary singleton creation and what lifecycle extension they provide.
This is a historical learning note and may contain outdated or incomplete understanding.
BeanPostProcessor instances are registered early so they can participate in subsequent bean creation.
They can inspect or replace bean instances before/after initialization. Major Spring features—including proxy creation and annotation-driven injection/lifecycle processing—are implemented through this extension family.
Ordering is infrastructure-sensitive, so custom processors should use documented extension contracts rather than depending on incidental registration order.