MyBatis源码解析 - 解析器模块
MyBatis源码解析 - 解析器模块 1. 前言 在MyBatis中涉及多个xml文件,解析这些xml文件自然离不开解析器。本文就来分析一下解析器模块。 2. 准备工作 xml常见的解析方式分为以下三种: DOM ( Document Object Model)解析方式 SAX (Simple APIfor XML)解析方式 StAX( Streaming API for XML)解析方式 - JDK 6.0版本开始,JDK开始支持 详细的解析xml学习可以参考 Java解析XML 在这里我们需要重点看下DOM解析,DOM解析主要的好处就是易于编程,可以跟根据需求在树形结构的各个节点之间导航。 3. XPathParser MyBatis 在初始化过程中处理 mybatis-config.xml 以及映射文件时使用的是DOM解析方式,并结合使用XPath解析XML配置文件。DOM会将整个XML文档加载到内存中形成数据结构。 XPathParser类封装了XPath 、Document和EntityResolver 依赖关系如图所示 XPathParser中字段含义和功能如下 private final Document document; //Document 对象 private boolean validation; //是否开启校验 private