文档根元素 “beans” 必须匹配 DOCTYPE 根 “null”
环境
Spring + Mybatis的Web程序
现象
在程序启动时,出现“文档根元素 ‘beans’ 必须匹配 DOCTYPE 根 ‘null’”的错误。
问题原因
根据报错信息“文档根元素 "beans" 必须匹配 DOCTYPE 根 "null" ”可知,
mybatis在扫描文件时,扫描到非mapper文件。比如本次报错扫描到了
文件。的根元素是<beans></beans>当然不会有DOCTYPE了。
所以当Mybatis扫描到了这个非文件时,自然找不到DOCTYPE
所以会有“DOCTYPE 根 "null"”这个错误。
解决办法
将所有的文件放入一个目录中,规定这个目录只存放文件,
这样才能避免Mybatis扫描到错误的文件。
总结
这只是一种情况之一。像这种类型的错误也有。请看链接
Mybatis:文档根元素 “mapper” 必须匹配 DOCTYPE 根 "configu
总之,出现任何错误首先都需要认真的看一看描述信息,然后才能找到解决方向和思路
另外,在spring中注册sqlSessionFactory、设置mapperLocations属性的时候,文件夹层次要以“/”体现,而不是用“.”进行分割。