上一篇:Spring源码解析(3)——register注册配置类
上一篇我们讲到执行完register()
方法,
public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) {
// 1. 首先初始化Spring的7个内置Bean后置处理器,并放到 DefaultListableBeanFactory 类型的对象 beanFactory 中
// 2. 创建Spring的注解解析器 Component
this();
// 传入的配置类annotatedClasses,生成BeanDefinition,然后将BeanDefinition注册到DefaultListableBeanFactory 类型的对象 beanFactory 中
register(annotatedClasses);
// 刷新容器
refresh();
}
下面我们来进入到Spring非常重要的环节,进入refresh()
方法。
1. refresh
在进入refresh()
方法之前,我们先看看AnnotationConfigApplicationContext
类的类结构