人生难得几回搏,此时不搏待何时。这篇文章主要讲述Spring NamespaceHandlerResolver xml的标签加载的扩展 和 ApplicationContext相关的知识,希望能为你提供帮助。
NamespaceHandlerResolver
public NamespaceHandler resolver(String namespaceUri);
DefaultNamespaceHandlerResolver返回执行标签解析的 NamespaceHandler对象
DefaultNamespaceHandlerResolver implements NamespaceHandlerResolver
default_handler_mappings_location = "META-INF/spring.handlers";
spring.handlers文件的配置使用的NamespaceHandler对象
http://www.springframework.org/schema/aop=cn.tk.***.aop.config.AopNamespaceHandler
AopNamespaceHandler extends NamespaceHandlerSupport
执行注册 BeanDefinitionParser 对象
public void init(){
registrerBeanDefinitionParser("config", new ConfigBeanDefinitionParser());
}
AOP标签的解析交给ConfigBeanDefinitionParser对象解析
ApplicationContext
ClassPathXmlApplicationContext -->
AbstractXmlApplicationContext -->
AbstratcRefreshableConfigApplicationContext -->
AbstractRefreshableApplicationContext -->
AbstractApplicationContext
AbstractApplicationContext 中 refresh()方法
public void refresh() {
prepareRefresh();
获取BeanFactory
AutowireCapableBeanFactory beanFactory = obtainFreshBeanFactory();
执行 BeanFactoryPostProcessor 和 BeanDefinitionRegistryPostProcessor
registerBeanPostProcessors(beanFactory);
执行Bean的getBean()方法
finishBeanFactoryInitialization(beanFactory);
}
【Spring NamespaceHandlerResolver xml的标签加载的扩展 和 ApplicationContext】
推荐阅读
- android studio 初印象
- Android(系统添加自定义鼠标样式并通过按键切换)
- android sdk安装
- MyBatis sql映射器 Mapper
- 记一些好看的Android开源菜单
- 音乐标签Android版
- Android高级架构进阶之数据传输与序列化
- Android(Mstar平台 HDMI OUT 静音流程)
- LeetCode 825. Friends Of Appropriate Ages