mybatis xml配置文件解析
YY實(shí)現(xiàn)方式
看碼之前,YY了一下,從 spring 把cglib和asm 包內(nèi)置到自己核心包 內(nèi),是為了規(guī)避jar包升級(jí)、修改等帶來(lái)對(duì)自己的影響。鑒于xml對(duì)mybatis的重要性,推導(dǎo) mybatis應(yīng)該自己寫xml解析,算是一個(gè)設(shè)計(jì)的取舍。

image.png
mybatis實(shí)現(xiàn)方式

image.png
從源碼看,mybatis沒(méi)有使用dom4j 等通用方式來(lái)解析,而是采用了jdk自帶的xml包來(lái)做解析,規(guī)避對(duì)外部jar的依賴。
一點(diǎn)錯(cuò)失很久的小發(fā)現(xiàn)
xml相關(guān)的xsd,dtd文件,一直沒(méi)注意過(guò)存放位置,首先聯(lián)網(wǎng)時(shí)一般都能從官網(wǎng)獲取??创a時(shí)無(wú)意發(fā)現(xiàn),jar包里也有一份。 哭笑.jpg

image.png
再總結(jié)一招吧,后續(xù)再做xml驗(yàn)證工具和工具jar時(shí),可以參考一下 :)
多點(diǎn)思考
具體實(shí)現(xiàn),相對(duì)簡(jiǎn)單,不嘮叨
更多的是,從產(chǎn)品設(shè)計(jì)和架構(gòu)設(shè)計(jì)角度來(lái)思考大拿們?nèi)绾嗡伎己妥鰶Q定的