1, ApplicationContext
分析一下基于xml的ClassPathXmlApplicationContext和GenericXmlApplicationContext,以及基于注解的AnnotationConfigApplicationContext的实现机制
2, ClassPathXmlApplicationContext
2.1 DefaultResourceLoader
根据指定的location的协议(file:/classpath:)加载指定资源。
2.2 AbstractApplicationContext
实现ApplicationContext,委托细节给子类实现。
2.3 AbstractRefreshableApplicationContext
配置内部的beanFactory
2.4 AbstractRefreshableConfigApplicationContext
设置配置文件地址
2.5 AbstractXmlApplicationContext
从xml中加载BeanDefinition
2.6 ClassPathXmlApplicationContext
配置configResources
3 AnnotationConfigApplicationContext
注册各种处理注解的BeanPostProcessor
ApplicationContext最核心的就是依赖内部的DefaultListableBeanFactory实现bean管理功能,依赖内部的ConfigurableEnvironment实现管理profile以及提供基于各种PropertySource的key查找功能