ibatis配置文件解析之XmlParserState
2010-11-09 22:26
260 查看
在ibatis配置文件解析总体流程一文中主要介绍了配置文件的大体过程,主要分为两个部分:一是注册xml节点解析算法,二是遍历配置文件,根据已注册的节点解析算法执行解析。
那么,配置文件中的各个节点是如何解析的呢?解析后得到的数据去向又是如何呢?应用程序又是如何使用这些配置信息呢?本文暂不对节点解析做详细的套路,也不讨论应用程序如何使用这些配置,主要关注配置信息的流向,即配置文件的解析类和配置信息的使用类是如何协调工作的。
在iBatis中,协调配置文件解析类和配置文件使用类的工作是由XmlParserState负责的,它接收由解析类解析得到的配置信息,然后再将这些信息创建成为相应的配置信息类转发给应用程序的配置信息使用类。下面就来看一下和XmlParserState有关联关系的类有哪些。
从上述的关系图中可以得知,XmlParserState是信息交流的枢纽,解析类将得到的数据发送给XmlParserState,然后XmlParserState再将其发送给配置类,配置类发送给应用类。
XmlParserState与Parser之间的关系:在整个应用中,只有一个XmlParserState对象,Parser持有这个对象引用,并将这个引用传递给Nodelet实例。Nodelet实例得到XmlParserState实例的引用后,在执行解析的时候,将解析结果放入到XmlparserState实例中。同时,也可能通过XmlParserState实例来取得Config实例的引用,将相关信息发送给Config类。个人觉得在Nodelet中直接操作Config对象这种做法有些不妥,应该通过XmlParserState来操作Config对象,这样更能体现XmlParserState的中介者的作用了,也消除了Parser与Config之间的耦合。
XmlParserState与Config类之间的关系:在XmlParserState类中,持有各个Config实例的引用,其中SqlMapConfiuration是由XmlParserState创建的,其他的Config是Parser通过SqlMapConfiguration创建的,然后将创建的对象赋值给XmlParserState。
通过上述的讲解,iBatis配置文件解析中,配置信息的传递情况已经很明确了,Parser与Config通过XmlParserState关联在一起,XmlParserState作为一个协调者的角色,辅助Parser和Config工作。
那么,配置文件中的各个节点是如何解析的呢?解析后得到的数据去向又是如何呢?应用程序又是如何使用这些配置信息呢?本文暂不对节点解析做详细的套路,也不讨论应用程序如何使用这些配置,主要关注配置信息的流向,即配置文件的解析类和配置信息的使用类是如何协调工作的。
在iBatis中,协调配置文件解析类和配置文件使用类的工作是由XmlParserState负责的,它接收由解析类解析得到的配置信息,然后再将这些信息创建成为相应的配置信息类转发给应用程序的配置信息使用类。下面就来看一下和XmlParserState有关联关系的类有哪些。
从上述的关系图中可以得知,XmlParserState是信息交流的枢纽,解析类将得到的数据发送给XmlParserState,然后XmlParserState再将其发送给配置类,配置类发送给应用类。
XmlParserState与Parser之间的关系:在整个应用中,只有一个XmlParserState对象,Parser持有这个对象引用,并将这个引用传递给Nodelet实例。Nodelet实例得到XmlParserState实例的引用后,在执行解析的时候,将解析结果放入到XmlparserState实例中。同时,也可能通过XmlParserState实例来取得Config实例的引用,将相关信息发送给Config类。个人觉得在Nodelet中直接操作Config对象这种做法有些不妥,应该通过XmlParserState来操作Config对象,这样更能体现XmlParserState的中介者的作用了,也消除了Parser与Config之间的耦合。
XmlParserState与Config类之间的关系:在XmlParserState类中,持有各个Config实例的引用,其中SqlMapConfiuration是由XmlParserState创建的,其他的Config是Parser通过SqlMapConfiguration创建的,然后将创建的对象赋值给XmlParserState。
通过上述的讲解,iBatis配置文件解析中,配置信息的传递情况已经很明确了,Parser与Config通过XmlParserState关联在一起,XmlParserState作为一个协调者的角色,辅助Parser和Config工作。
相关文章推荐
- ibatis连接数据库的配置文件SqlMapConfig.xml---解析
- struts.xml配置文件的各个 标签/属性 解析(转)
- Java SAX解析器解析XML配置文件,连接数据库
- Linux下使用libxml2解析XML配置文件
- Ibatis:sqlMapConfig.xml配置文件详解
- [转载][iPhone]XML文件解析 parsing-xml-files NSXMLParser
- iBATIS配置文件——sqIMapConfig.xml
- 单例设计模式中使用dom4j来完成(数据库配置文件)xml的解析,并完成数据库的连接
- AndroidManifest.xml配置文件解析二
- ibatis - sqlMapConfig.xml配置文件详解
- hadoop core 默认配置文件(core-default.xml)参数解析(二)
- Python用ConfigParser解析INI配置文件
- mybatis-Config.xml全局配置文件解析
- 为什么hibernate在不联网的时候解析不了配置文件?(hibernate.cfg.xml)
- magento的xml配置文件的简单解析-frontend
- [iPhone]XML文件解析 parsing-xml-files NSXMLParser
- Spring 对配置文件 xml 的解析
- ibatis源码学习2_初始化和配置文件解析
- java解析XML配置文件及log4j开源日志系统
- Mybatis中的config.xml配置文件详细解析