org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.zj.service.persistence.UserMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1210)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:664)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:630)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:678)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:549)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:490)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
看日志报错:应该是spring没有扫描到mybatis的Mapper
No qualifying bean of type [com.zj.service.persistence.UserMapper] found for dependency
需要在spring中加入扫描Mapper接口的包名
<!-- Mapper接口所在包名,Spring会自动查找其下的Mapper --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="mapper的包名" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean>
相关推荐
本文将详细介绍如何将Spring和MyBatis进行整合,并采用Mapper代理自动扫描的方式实现,同时还会提及到JUnit测试。 首先,我们需要在项目中引入Spring和MyBatis的相关依赖。通常,我们会使用Maven或Gradle作为构建...
在Spring Boot集成MyBatis的过程中,`mapper.xml`配置文件起着至关重要的作用。它用于定义SQL语句,实现数据库的CRUD操作。本示例将深入探讨如何配置`mapper.xml`,并提供新增、修改、删除、查询及分页查询的实践...
在本文中,我们将深入探讨如何将Spring Boot与Mybatis通用Mapper整合,并利用它们来连接MySQL数据库,实现数据的增删改查操作。Spring Boot以其简洁的配置和强大的自动化配置功能,已经成为开发Java应用的首选框架之...
传统的MyBatis中,我们通常会创建一个Mapper接口,然后手动实现这个接口,但在Spring环境中,MyBatis-Spring可以帮助我们自动实现这些接口,只需在接口上添加`@Mapper`注解,Spring就会自动创建对应的`Bean`。...
在本教程中,我们将深入探讨如何在Java Web开发中整合Spring、Spring MVC和MyBatis框架,特别是关注基于XML配置的Mapper接口方式。这三种技术的集成为开发高效、可维护的Web应用提供了强大支持。 首先,Spring是...
在本文中,我们将深入探讨如何将Spring Boot与MyBatis集成,并使用Mapper进行数据库操作,同时实现自动分页功能。Spring Boot以其简化配置和快速启动的特性,成为了现代Java开发中的首选框架。MyBatis则是一款优秀的...
在本文中,我们将深入探讨如何在Spring Boot项目中集成MyBatis并实现自动分页功能。Spring Boot以其简洁的配置和强大的自动化配置能力,极大地简化了微服务开发过程。而MyBatis作为一款轻量级的持久层框架,能够灵活...
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描包含Mapper接口的包 --> <property name="basePackage" value="com.example.mapper"/> ``` 3. **tk.mybatis配置**: 在MyBatis...
### 从零搭建Spring Boot脚手架:手写Mybatis通用Mapper详解 #### 前言 本文将探讨如何在Spring Boot项目中集成一个自定义的Mybatis通用Mapper,以达到简化开发流程的目的。在之前的篇章中,我们已经集成了国内广...
在本文中,我们将深入探讨如何将SpringBoot与MyBatis框架整合,并且使用MapperXML模式进行数据库操作。SpringBoot以其简化配置和快速启动的特点,深受开发者喜爱,而MyBatis则是一个优秀的持久层框架,提供了灵活的...
<bean id="myBatisMapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.mapper"/> ``` 接下来,配置MyBatis。在`mybatis-...
这里的`basePackage`属性指定了包含Mapper接口的包路径,这样就可以自动扫描该包下的所有Mapper接口,并注册为Spring管理的Bean。 ##### 3.4 定义Mapper类 接下来,需要定义一个具体的Mapper接口及其对应的方法。...
通过这个实例,你可以了解到如何快速地在Spring Boot应用中引入MyBatis-Plus,以及如何利用它进行数据操作。这只是一个基础的开始,MyBatis-Plus还有更多高级特性等待你去探索,如乐观锁、多表关联查询、动态SQL等。...
在你提供的压缩包文件"ningchuang"中,可能包含了配置文件(如web.xml、spring-context.xml、mybatis-config.xml)、实体类(Entity)、DAO接口和实现(Mapper Interface和Mapper XML)、Service接口和实现、...
在Spring Boot的配置文件application.yml或application.properties中,我们可以指定数据源、MyBatis的配置文件路径以及Mapper接口的扫描路径。例如: ```yaml spring: datasource: url: jdbc:mysql://localhost:...
- 由于Spring 3.0在MyBatis 3.x正式发布前已完成开发周期,Spring团队不愿意基于未发布的MyBatis版本进行整合支持。因此,MyBatis社区决定承担起整合的任务。 3. **要求** - 在开始使用MyBatis-Spring整合之前,...
在`application.properties`中,添加数据源配置和MyBatis的相关配置,例如数据库连接信息、Mapper扫描路径等: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&...
这个类通常会启用MyBatis的自动配置,并指定Mapper接口的扫描路径: ```java @Configuration @MapperScan("com.example.microservice.config.client.wl.mapper") public class MyBatisConfig { } ``` 接下来,定义...
4. **配置MyBatis**:在`@Configuration`类中配置MyBatis的相关设置,如扫描Mapper接口的位置: ```java package com.example.demo.config; import org.mybatis.spring.annotation.MapperScan; import org....
Spring Boot 2 基于 MyBatis 实现多表关联查询 Spring Boot 2 是目前非常流行的 Java 框架,它提供了许多强大的功能,例如自动配置、 starters 机制等。MyBatis 是一个流行的持久层框架,提供了强大的数据库交互...