public class AnnotationConfigTest { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); } } AnnotationConfigApplicationContext GenericApplicationContext AnnotationConfigUtils AbstractApplicationContext 父类构造器() new DefaultListableBeanFactory() return 间接调用这个Utils,注册BeanPostProcessor的BeanDefinition 注册ConfigurationClassPostProcessor 注册AutowiredAnnotationBeanPostProcessor 注册CommonAnnotationBeanPostProcessor 注册EventListenerMethodProcessor 注册DefaultEventListenerFactory 注册PersistenceAnnotationBeanPostProcessor return register(annotatedClasses) 注册配置类的BeanDefinition,略 refresh() 见下一个时序图 return AnnotationConfigApplicationContext GenericApplicationContext AnnotationConfigUtils AbstractApplicationContext