spring-context

2018-05-08  本文已影响0人  码农崛起

1, ApplicationContext

ApplicationContext-1.png ApplicationContext-2.png

分析一下基于xml的ClassPathXmlApplicationContext和GenericXmlApplicationContext,以及基于注解的AnnotationConfigApplicationContext的实现机制

2, ClassPathXmlApplicationContext

类层次.png

2.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查找功能

上一篇 下一篇

猜你喜欢

热点阅读