使用MyBatis进行Spring启动 - @MapperScan错误

时间:2018-01-22 03:53:53

标签: java spring spring-boot mybatis spring-mybatis

我正在尝试使用MyBatis设置Spring Boot。当我尝试启动我的应用程序时,我收到以下错误:

java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation.MapperScan.factoryBean()
    at java.lang.reflect.Method.getDefaultValue(Method.java:611)
    at sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:128)
    at sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:85)     
    at ...
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:301)
    at com.mydomain.Server.launch(Server.java:70)
    at com.mydomain.Server.main(Server.java:93)

我在我的pom.xml中使用以下版本来设置内容:

  • spring-boot-dependencies @ 1.5.9.RELEASE
  • spring-cloud-dependencies @ Edgware.SR1
  • mybatis @ 3.4.5
  • mybatis-spring @ 1.3.1

我还包括以下内容:

  • MyBatis的弹簧引导起动
  • 弹簧引导配置处理器
  • 弹簧云配置的客户端
  • 弹簧引导起动的Web
  • 弹簧引导起动致动器
  • 弹簧引导起动

我不确定是否存在冲突或是什么,但它不会让我设置我的地图制作者。欢迎任何建议。

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。
我试过 mybatis-spring-boot https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.3.2
我的应用程序运行正常。

我希望它可以帮到你。

答案 1 :(得分:1)

您需要添加以下Maven依赖项:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
</dependency>

答案 2 :(得分:0)

好的 - 所以问题是 mybatis @ 3.4.5 mybatis-spring @ 1.3.1 之间存在冲突。

当我删除 mybatis @ 3.4.5 时,一切正常。