二. 注册当前的配置类信息——->this.register(annotatedClasses);
- 就一行代码,通过上面初始化的注解reader注册配置类的bean定义信息。
this.reader.register(annotatedClasses);
通过遍历所有的配置类,进行注册
for(int var4 = 0; var4 < var3; ++var4) {
Class<?> annotatedClass = var2[var4];
this.registerBean(annotatedClass);
}
- registerBean(annotatedClass),注册注解配置类
public void registerBean(Class<?> annotatedClass, String name, Class<? extends Annotation>... qualifiers) {
AnnotatedGenericBeanDefinition abd = new AnnotatedGenericBeanDefinition(annotatedClass); // 构造BeanDefinition类
if (!this.conditionEvaluator.shouldSkip(abd.getMetadata())) { // 判断是否需要跳过,主要是判断类上面是否有condition,并且condition是否成立
ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(abd);
abd.setScope(scopeMetadata.getScopeName());
Stri