标签:str rgba config 类图 pat his mil load proxy
日常项目中,使用注解@EnableAspectJAutoProxy @EnableAsync
这里面涉及对@Import注解支撑的底层原理:ConfigurationClassPostProcessor 这个类,说到这个类,我们要先从SpringBoot启动流程说起。
首先,看springboot启动流程中的一步:
SpringApplication对象的run方法,创建上下文context = createApplicationContext(); 这一步,会创建AnnotationConfigServletWebServerApplicationContext对象:
contextClass = Class.forName(DEFAULT_SERVLET_WEB_CONTEXT_CLASS);
(ConfigurableApplicationContext) BeanUtils.instantiateClass(contextClass);
类图关系如下:
AnnotationConfigServletWebServerApplicationContext类有两个重要的属性:private final AnnotatedBeanDefinitionReader reader; private final ClassPathBeanDefinitionScanner scanner;
创建AnnotationConfigServletWebServerApplicationContext对象时, 调用构造方法,会初始化该对象的上面两个属性。
见:
public AnnotationConfigServletWebServerApplicationContext() {
this.reader = new AnnotatedBeanDefinitionReader(this);
this.scanner = new ClassPathBeanDefinitionScanner(this);
}
在new AnnotatedBeanDefinitionReader(this)对象时,里面会涉及AnnotatedBeanDefinitionReader构造函数
标签:str rgba config 类图 pat his mil load proxy
原文地址:https://www.cnblogs.com/kobe-lin/p/14225822.html