目的:
spring在完成一个bean的初始化、实例化的过程中,会用到九个后置处理器;本文梳理出这九个后置处理器
九大后置处理器
spring在初始化的过程中,会在九个地方分别调用了五个后置处理的九个方法
第一次调用后置处理器org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#resolveBeforeInstantiation
InstantiationAwareBeanPostProcessor --> postProcessBeforeInstantiation方法
InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法可以返回任何类型,如果返回的对象不为null,就调用beanPostProcessor的postProcessAfterInitialization方法;如果返回null,就正常的执行流程;该后置处理器
在spring AOP当中,spring如果判断当前类100%不需要进行增强,会把这个bean放到一个map中,并将value置为false,那么在后面进行增强的时候,会排除这个map中的bean
第二次调用后置处理器,该后置处理器推断使用哪个构造函数来初始化bean对象
org.springframework.beans.factory.supp