spring加载流程之构造函数中的register
缘起: 看到这篇,spring流程加载之AnnotationConfigApplicationContext
的默认构造函this()
就执行完了。
1.spring加载流程之AnnotatedBeanDefinitionReader
2.spring加载流程之ClassPathBeanDefinitionScanner
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(Test.class);
public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) {
/**
* 这里由于他有父类,所以会先调用父类的构造方法:
* 看源码得知初始化了DefaultListableBeanFactory
*
* 然后才调用自己的构造方法:
* 1.创建一个读取注解的Bean定义读取器
* 将bean读取完后,会调用DefaultListableBeanFactory注册这个bean
* 2.
*/
this();
register(annotatedClasses);
refresh();
}
上下文的register(annotatedClasses)方法
看传参可知,可以同时注册多个calss,以逗号隔开