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