mybatis xml配置文件解析
YY实现方式
看码之前,YY了一下,从 spring 把cglib和asm 包内置到自己核心包 内,是为了规避jar包升级、修改等带来对自己的影响。鉴于xml对mybatis的重要性,推导 mybatis应该自己写xml解析,算是一个设计的取舍。

image.png
mybatis实现方式

image.png
从源码看,mybatis没有使用dom4j 等通用方式来解析,而是采用了jdk自带的xml包来做解析,规避对外部jar的依赖。
一点错失很久的小发现
xml相关的xsd,dtd文件,一直没注意过存放位置,首先联网时一般都能从官网获取。看码时无意发现,jar包里也有一份。 哭笑.jpg

image.png
再总结一招吧,后续再做xml验证工具和工具jar时,可以参考一下 :)
多点思考
具体实现,相对简单,不唠叨
更多的是,从产品设计和架构设计角度来思考大拿们如何思考和做决定的