org.springframework.beans.factory.config.BeanPostProcessor和org.springframework.beans.factory.config.BeanFactoryPostProcessor都可以在一个被Spring管理的Bean的生命周期中进行自定义的一些处理,当然这个生命周期多半是被Spring管理的Bean实例化前后,这种操作也可以叫做钩子。实现BeanFactoryPostProcessor接口的方法将会在Bean实例化之前调用,实现BeanPostProcessor接口的方法将会在实例化Bean之后调用。实现InitializingBean接口的方法会在BeanPostProcessor#postProcessBeforeInitialization()方法之后BeanPostProcessor#postProcessAfterInitialization()之前调用,并且InitializingBean的实现只针对实现的bean,并不像BeanPostProcessor那样对所有被Spring管理的Bean都有效。
使用时需要注意的是,在实现BeanFactoryPostProcessor接口的方法中万万不可进行实例化Bean的操作,否则会引起不可预知的错误。另外这三个Bean需要注册到Spring容器中才能生效。