Allows for custom modification of new bean instances, e.g.
checking for marker interfaces or wrapping them with proxies.
Application contexts can auto-detect BeanPostProcessor beans in their
bean definitions and apply them before any other beans get created.
Plain bean factories allow for programmatic registration of post-processors.
Typically, post-processors that populate beans via marker interfaces
or the like will implement postProcessBeforeInitialization, and post-processors
that wrap beans with proxies will normally implement postProcessAfterInitialization.
Application contexts can auto-detect BeanPostProcessor beans in their bean definitions and apply them before any other beans get created. Plain bean factories allow for programmatic registration of post-processors.
Typically, post-processors that populate beans via marker interfaces or the like will implement postProcessBeforeInitialization, and post-processors that wrap beans with proxies will normally implement postProcessAfterInitialization.