时间:2021-05-20
描述:调用构造方法中的refresh方法
描述:调用AbstractApplicationContext refresh()方法进行xml解析
重点:创建XML对象的解析器
重点:用xml文件解析器把xml文件转换成Reource对象
重点:Resource对象转Document对象
**重点:**创建Document解析器
总结:DefaultBeanDefinitionDocumentReader(Document解析器)解析xml文件
大概步骤:
(1) 构造。
(2) 刷新工厂。
(3) 创建xml对象解析器。
(4) 将xml解析成Resource对象。
(5) Resource转Document。
(6) 创建Document对象解析器。
(7) 解析Document对象。
详细步骤:
1 ClassPathXmlApplicationContext调用构造方法。2 AbstractApplicationContext: (1) 调用refresh()方法。 (2) 调用obtainFreshBeanFactory()方法。3 AbstractRefreshableApplicationContext调用refreshBeanFactory() 方法。4 AbstractXmlApplicationContext: (1) loadBeanDefinitions(DefaultListableBeanFactory beanFactory)方法。创建XML解析器。 (2) 调用loadBeanDefinitions(XmlBeanDefinitionReader reader)方法。5 AbstractBeanDefinitionReader: (1) loadBeanDefinitions(String... locations)方法。 (2) loadBeanDefinitions(String location)方法。 (3) loadBeanDefinitions(String location, @Nullable Set<Resource> actualResources)方法,将XML解析成Resource对象。 (4) loadBeanDefinitions(Resource... resources)方法。6 XmlBeanDefinitionReader: (1) loadBeanDefinitions(Resource resource) 方法。 (2) loadBeanDefinitions(EncodedResource encodedResource) 方法。 (3) doLoadBeanDefinitions(InputSource inputSource, Resource resource)方法。 (4) registerBeanDefinitions(Document doc, Resource resource)方法。创建Document解析器。7 DefaultBeanDefinitionDocumentReader: (1) registerBeanDefinitions(Document doc, XmlReaderContext readerContext)方法。 (2) doRegisterBeanDefinitions(Element root)方法。 (3) parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) 方法解析默认标签、自定义标签。1. 获取自定义标签的 namespace 命令空间,例如:http://www.springframework.org/schema/context
2. 根据命令空间获取 NamespaceHandler 对象通过 SPI 机制获取 spring 中所有 jar 包里面的 "META-INF/spring.handlers"
文件,并且建立映射关系
3. 反射获取 NamespaceHandler 实例
4. 调用对应标签如 ContextNameHandler 标签的 init()方法
5. 调用 handler.parse()方法完成解析
1 根据自定义标签寻找相应的uri
2 加载spring中全部MET-INF/spring.handlers
3 根据applicationContext.xml 找对应的Hadnler
到此这篇关于Spring中Xml属性配置解析的文章就介绍到这了,更多相关Spring Xml属性配置解析内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
记录下Spring自带的定时任务用法。spring中使用定时任务基于xml配置文件使用定时任务首先配置spring开启定时任务
整理总结刚学的关于spring的xml配置bean的知识。在ApplicationContext.xml文件中使用bean节点配置bean,bean的属性id在
可以在XML文件中进行配置,下面的代码是个示意代码增加记录的方法获取记录的方法删除的方法更改记录的方法下面扩展将一下spring里面事务的传播属性和事务隔离级别
Spring在web.xml中的配置详细介绍前言在实际项目中spring的配置文件applicationcontext.xml是通过spring提供的加载机制自
对init.rc的解析是在parse_config():[system/core/init/init_parser.c]中进行的。解析发生在init全过程中的哪