spring-context
2018-05-08 本文已影响0人
码农崛起
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查找功能