spring boot mybatis的问题

spring boot版本1.5.3.RELEASE

mybatis-spring-boot-starter版本1.1.1

pom.xml文件

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>

test测试类

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=Run.class)
public class DaoTest {

    @Autowired
    private Dao dao;

    @Test
    public void insertPeople(){
        People people = new People();
        people.setName("张三");
        people.setAge(23);
        Integer i = dao.insertPeople(people);
        System.out.println("插入数量"+i);
    }
}

错误信息

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DaoTest': Unsatisfied dependency expressed through field 'dao'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'demo.repository.Dao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:386) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118) ~[spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) ~[spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44) ~[spring-boot-test-autoconfigure-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230) ~[spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) [spring-test-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) [.cp/:na]
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'demo.repository.Dao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1486) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    ... 29 common frames omitted

可是当我将mybatis-spring-boot-starter版本改为1.0.1后测试却可以通过

2017-05-27 11:22:55.458  INFO 10388 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-05-27 11:22:55.753  INFO 10388 --- [           main] DaoTest                                  : Started DaoTest in 3.123 seconds (JVM running for 3.778)
插入数量1
2017-05-27 11:22:56.404  INFO 10388 --- [       Thread-2] o.s.w.c.s.GenericWebApplicationContext   : Closing org.springframework.web.context.support.GenericWebApplicationContext@7690781: startup date [Sat May 27 11:22:53 CST 2017]; root of context hierarchy

然后我又将mybatis-spring-boot-starter版本改为1.3.0,同样上面的错误,应该是dao无法创建bean,这是为什么?????

0

1个回答

mapper接口处注解问题
mybatis-spring-boot-starter 1.0.1 使用@MapperScan
mybatis-spring-boot-starter 1.1.0之后 使用@Mapper

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring boot + spring + mybatis 集合xml
spring boot + spring + mybatis 集合xmlspring boot + spring + mybatis 集合xmlspring boot + spring + mybatis 集合xml
Spring Boot 集成mybatis
Spring Boot 集成mybatis,Spring Boot和mybatis整合的开发
springboot 整合mybatis 遇到的问题
最近自己整合了下,发现如果用mybatis xml 就报错  Error creating bean with name 'example': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException
spring boot+mybatis+jsp
spring boot使用mybatis和jsp页面实现mvc, spring boot使用mybatis和jsp页面实现mvc,spring boot使用mybatis和jsp页面实现mvc
spring boot 整合mybatis和jpa遇到的那些坑,附代码
这两天自己练习搭建项目,其中需要用到springSecurity,JWT搞到一半发现数据库还没有配置,然后总结了下,决定用mybatis和jpa,进入正题 一、第一步,引入我们需要的jar包,这里我直接yongidea创建项目时自动生成了一些需要的jar包,暂时先弄这些,以后再加 pom.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...
springboot_demo-1.rar
eclipse下spring boot 整合 mybatis、mysql,eclipse下spring boot 整合 mybatis
spring boot 整合常用技术
spring boot 常用技术整合 spring boot、swaager、mybatis、redis
springboot_mybatis_demo
spring boot 集成mybatis demo,spring boot版本1.4.3
springboot微信点餐
springboot微信点餐,微信扫码登陆,支付; spring Boot为主线的技术栈 Spring Boot Spring Boot + JPA Spring Boot + MyBatis Spring Boot + Redis Spring Boot + WebSocket
spring boot
spring boot mybatis 项目
spring boot2.1.4 + mybaits.zip
Spring Boot 版本:2.1.4.RELEASE Spring Mybatis:2.0.1 Spring Boot + MyBatis 单个工程整合Demo,给初学者参考!
SpringBoot整合mybatis出现时区问题
整合mybatis时运行出现The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration...
SpringBoot工程中mybatis版本兼容问题
mybatis版本兼容问题 1. 问题现象 搭建springboot工程的过程中出现的错误 出现java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor 错误! 1. 声明: mybatis的3.4.0及以上版本只支持mybatis-spring1.3.0及以上版本 说明是版本兼容问题,解决办法:mybatis的3.4.0及以...
spring boot mybatis jsp
spring boot mybatis jsp
spring boot thymeleaf mybatis
spring boot thymeleaf mybatis
Spring boot + Mybatis + Freemarker
Spring boot + Mybatis + Freemarker
最新springBoot+mybatis+redis分布式锁+swagger
最新springBoot++redis分布式锁+swagger
spring boot代码
java spring boot -mybatis 文档
Spring Boot+Mybatis结合PostGreSQL项目,接口开发遇到的问题总结
一、paramType为自定义object,object含数组属性,从数据库取数组数据时遇到报错:数据类型不匹配 详细情况如下: ps:pgsql数据库中数组字段为double precision[]类型 问题解决: 1.设置表对象该属性为Double[]类型 2.mybatis中获取数据库表数据时,运用pgsql遍历数组的unnest()函数,例如: 3.ok,取值正...
springboot+mybatis多数据源配置方法及遇到的问题
这里做的测试,两个数据库内表都一样 pom.xml &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaL...
关于springBoot+Mybatis项目部署的一些问题
项目用的是JDK1.8,本地运行一切正常,当想部署到服务器上的时候,会出现,项目无法启动的问题,报错信息如下:1、Unsupported major.minor version 52.0经过一番查找,发现是由于服务器上的JDK版本不对,服务器上最高只有JDK1.7,于是,在网上下载了JDK1.8,并安装在服务器上(关于如何在服务器上给项目安装JDK版本,我会在下篇文章更新)。一般major.min...
springboot + mybatis 一对多查询 + 懒加载
springboot + mybatis 一对多查询 + 懒加载 直接上图 父表 子表 parent相关代码 entity public class ParentMessage implements Serializable { private Integer id; private String valu...
spring boot 1.2.3,spring framework4.1.6,mybatis,lombok,oracle的一个sample
spring boot快速开发WEB系统,使用spring boot 1.2.3,spring framework4.1.6,mybatis,lombok,oracle的一个sample。
Spring boot面试题整理
1、什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置 自动配置spring添加对应功能starter自动化配置 答:spring boot来简化spring应用...
Java学习----day7——(1)详细解决接口和抽象类的区别
标题
Spring Boot 使用Oracle集成Mybatis,驼峰映射(下划线)问题
问题描述: 数据库字段为USER_ID,实体类为userId,在application.xml做如下配置,可以自动进行映射: mybatis.configuration.mapUnderscoreToCamelCase=true或新建mybatis.xml配置文件 进行以上配置后,并没有映射成功,查出来的数据都为null。 问题分析: 1、把项目整体迁移到My
自己用springboot+mybatis+easyui写的个人管理系统遇到的问题总结
最近在学习springboot,所有就想写一个小系统练练手。集成了查看生日信息和礼金信息,以及自己设置的重要事情提醒的功能,期间遇到了很多的问题,还好自己都一一解决了。很多都是因为对框架不熟悉造成的。抱着好记性不如烂笔头的心态,我决定花点时间记录下这些问题。 1,easyui的datagrid方法加载数据这里有一个坑,以前我习惯把返回的list取名我items,但是datagrid只接受list...
springboot整合Mybatis实现对Oracle的定时查询实例
本科毕业刚刚入职的第一个任务,就是统计一段时间内的数据并输出至文件。其实输出至文件并不是一个最优解,提供接口让负责统计的大数据方面去调用应该是更好的方法,也是更适合springboot的方法。但是公司每日都会有人处理Nginx日志并发送给大数据方面,所以按照Nginx的日志格式输出至文件进行统一处理显然是个省时省力的好办法。顺口说一句,大部分的公司安全完全依靠网络屏障,内部的安全措施是很不完善的,...
手把手教你如何玩转SpringBoot整合MyBatis(全注解开发和热部署及其JSP配置详解)
       当写了前一篇关于SpringBoot的文章之后,有很多朋友就提问说,关于SpringBoot整合Mybatis,还有SpringBoot热部署,并且还有说关于整合JSP配置的一些问题,然后决定写这一篇文章来帮有疑惑的朋友来解决一下问题。(SpringBoot整合Hibernate的使用,及其SpringBoot的基本知识可以参考之前的一篇章  SpringBoot基础学习  ) ...
spring boot集成mybatis开发:关于时间日期的配置
原因:spring boot集成mybatis开发时,MySQL中表的字段为datetime,Java中的字段为date, 而在保存时日期到库中却少8个小时。 解决方案:在application.yml配置文件中做如下配置。  jackson:     date-format: yyyy-MM-dd     time-zone: GMT+8 示例: spring: message...
spring boot配置mybatis和事务管理
Spring Boot配置Mybatis一、spring boot与mybatis的配置1.首先,spring boot 配置mybatis需要的全部依赖如下:&amp;lt;!-- Spring Boot 启动父依赖 --&amp;gt; &amp;lt;parent&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-st
spring boot 整合mybatis
基于spring boot, 整合mybatis,自动生成mybatis代码。
Springboot整合mybatis、以及xml配置实例、热部署、打包、跳转、ssl、webapp
整合mybatis: 引入jar包,这个包是dao+server整合,内涵mybatis生成的xml,及mapper接口和bean对象 引入包后,其包的依赖也会下来,所依赖的jar yml文件配置连接参数,数据源如果有引入jar则还可以配置数据源,mybatis配置mapper接口在哪里,需要文件路径配置/,在配置bean对象在哪里 找到启动类: mappersc...
spring boot和mybatis整合
一个简单的spring boot 和mybatis整合的实例,spring boot 就是spring 与 spring mvc的综合 mybatis就是半自动的orm框架,这是一个简单的整合demo
Springboot整合Mybatis提示Mapper没有注入的问题
在测试类中报错: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.tungkong.springboot.Demo05ApplicationTests': Unsatisfied dependency expressed through fi...
Springboot整合插入时间问题
在连接字符串上加上serverTimezone=Asia/Shanghai  问题得到解决 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai
SpringBoot整合Mybatis扫描不到Mapper的问题
闲来无事,想学学springboot,开始搭建一个项目,但是一直显示mapper扫描不到的错误: “Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Er
Spring Boot2.0整合Mybatis(自动生成注解方式,多环境配置)
本介绍Spring Boot2.0整合Mybatis,通过MyBatis Generator插件自动生成mapper的sql注解及Provider类的过程,支持多环境的yml配置文件首先用IDE开发工具(IDEA,STS,Eclipse)创建一个Spring Boot工程springboot-mybatis-demo-annotation, pom.xml如下&amp;lt;?xml version=&quot;1...
Spring Boot与MyBatis整合工程
Spring Boot与MyBatis整合工程,介绍文章《【Spring Boot学习总结】12.Spring Boot与MyBatis结合》地址:https://blog.csdn.net/acmman/article/details/82528818
springboot+mybatis例子.zip
Spring boot 和 MyBatis集成例子,通过代码可以学习Spring boot框架。