关于SpringBoot集成Mybatis集成时遇到的/文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"/问题

这个问题应该是刚学习spring boot的同学经常遇到的,也困惑了我一晚上。

遇到这个问题的原因有很多种,所以解决方式不同,我这里说下我遇到的情况和解决办法。

先说我遇到的情况的解决办法,就是添加下面标红的一句,把Spring XML配置文件主动引入,你如果是相同的问题,可以去自己的项目里试试看。

@ImportResource(value = {"classpath:applicationContext.xml"})
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SpringMybatisApplication {

当然有时间的同学可以继续往下看。

      我的情况是在Spring Boot和Mybatis集成时,项目代码已经开发结束。Junit测试service接口也完全没问题,就是在执行Application类的时候报这个错误,因为我是基于Spring xml配置的项目,所以在项目启动时必须先加载Spring配置文件,看了网上教程说Spring的配置文件名称必须依application开头的就会被主动加载,我也这样尝试过,但是好像并不可以,Spring Boot启动项目时仍然不会把我的Spring xml配置文件在项目启动时加载进去,当然如果我把配置文件名称改为application.xml的时候虽然该配置文件会加载,但是就会报我们遇到的这个问题“文档根元素 "beans" 必须匹配 DOCTYPE 根 "null" ,我当时也以为是配置文件写的有问题,反复检查和删减,但是就是没法解决,后来静下心想了下如果配置文件有问题的话,那么单元测试应该没法通过。所以就把问题定位在了配置文件没有加载的地方。@ImportResource:通过locations属性加载对应的xml配置文件。原来Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;所以我们有配置文件就要通过注解方式先引入进去。

我是菜鸟一枚~~~

我的项目结构图如下:

猜你喜欢

转载自blog.csdn.net/gaotiedun1/article/details/84955070