一、容器接口
1、BeanFactory与ApplicationContext
2、BeanFactory接口
① DefaultListableBeanFactory类
3、ApplicationContext接口
① 实现MessageSource接口
② 实现ResourcePatternResolver接口
③ 实现EnvironmentCapable接口
④ 实现ApplicationEventPublisher接口
二、容器实现
1、BeanFactory实现
① DefaultListableBeanFactory类
② 注册各类后置处置处罚器
③ beanFactory后置处置处罚器
④ bean后置处置处罚器
⑤ preInstantiateSingletons初始化
增补:AnnotationConfigUtils类
2、ApplicationContext实现
① ClassPathXmlApplicationContext类
② FileSystemXmlApplicationContext类
增补:XmlBeanDefinitionReader类
③ AnnotationConfigApplicationContext类
增补:<context:annotation-config/>
④ AnnotationConfigServletWebServerApplicationContext类
beanFactory.preInstantiateSingletons();System.out.println("==== before we get these beans ====");System.out.println(beanFactory.getBean(Bean1.class).getBean2());