Spring中Bean的加载时机
先来说几个Spring的重要组件:
BeanPostProcessor接口:拦截所有容器中的Bean,并且可以完成Bean的创建-->初始化-->销毁。
BeanFactoryPostProcessor接口:拦截容器。
BeanDefinitionRegistryPostProcessor接口:在Bean的声明即将被加载之前调用。
这里可以理解为BeanPostProcessor中的一个个bean被放入BeanFactoryPostProcessor中:
这里还需要注意一下:BeanDefinitionRegistryPostProcessor接口继承自BeanFactoryPostProcessor接口,所以后者有的方法前者也有,如果在前者中调用方法,则先执行;反之,如果在后者中调用方法,则后执行(加载时机不同)。