核心类 InfrastructureAdvisorAutoProxyCreator
本质是一个后置处理器,和AOP的后置处理器类似,但比AOP的使用级别低。当开启AOP代理模式后,优先使用AOP的后置处理器。
AopConfigUtils:
/** * The bean name of the internally managed auto-proxy creator. */ //和AOP一样都向容器注入以此为name的后置处理器,进行代理类的创建 public static final String AUTO_PROXY_CREATOR_BEAN_NAME = "org.springframework.aop.config.internalAutoProxyCreator"; /** * Stores the auto proxy creator classes in escalation order. */ //按升级的顺序存储进行代理类创建的后置处理器 private static final List<Class<?>> APC_PRIORITY_LIST = new ArrayList<Class<?>>(); /** * Setup the escalation list. */ //代理创建类后置处理器升级列表,下标越大等级越高 static { APC_PRIORITY_LIST.add(InfrastructureAdvisorAutoProxyCreator.class); APC_PRIORITY_LIST.add(AspectJAwareAdvisorAutoProxyCreator.class); APC_PRIORITY_LIST.add(AnnotationAwareAspectJAutoProxyCreator.class); }