1、registerBeanPostProcessor(BeanFactory)
1、在prepareBeanFactory中添加bpp
1、applicationContextAwareProcessor
2、ApplicationListenerDetectory
2、configurationClassPostProcessor
1、importAwareBeanPostProcessor
2、获取容器中所有实现了BeanPostProcessor接口的子类的名称
1、识别到spring中包含的对象和自定义的对象
4、添加BeanPostPRocessoryChecker
5、定义不同的集合来区分不同的Bpp
1、实现了PriorityOrdered接口的BPP
2、存放spring内部的BeanPostProcessor
3、实现了Ordered接口的BPP
4、存放普通的BPP
6、将实现了PriorityOrdered接口的bpp进行排序并完成注册
7、将实现了Ordered接口的bpp进行排序并完成注册
8、将普通bpp进行排序并完成注册
9、将所有的spirng内部的BeanPostProcessor进行排序并完成注册功能;
经常用到的BeanPostProcessor
ApplicationContextAwareProcessor
AbstractAutoProxyCreator
AutowiredAnnotationBeanPostProcessor
Common Annotation BeanPostProcessor
ApplicationListenerDeteor
AspectJAwareAdvisorAutoProxyCreator