BeanPostProcess:是springIOC容器提供的,可以实现自定义bean的实例化,配置等逻辑
BeanFactoryPostProcess:是springIOC容器提供的,可以实现自定义bean的元数据等信息,比如在配置xml时,经常使用的PropertyPlaceholderConfigurer和PropertyOverrideConfigurer;就是BeanFactoryPostProcess的一种实现
今天主要是记录他们的执行顺序
这个结果说实话超出我的预期,我本以为BeanFactoryPostProcess会最后执行,看到结果后才明白,BeanFactoryPostProcess会最先执行,拿PropertyPlaceholderConfigurer来说,PropertyPlaceholderConfigurer肯定是最先执行的,执行它的时候将配置文件中的字符串转换成java Properties,然后传递给PropertyPlaceholderConfigurer,这个PropertyPlaceholderConfigurer获取所有的bean,然后根据java Properties或者构造方式注入,或者setter注入