最近几天闲来无事,做了Spring和Mybatis注解整合(Maven项目),虽然很难,一路走来很开心
项目整合地址:
http://yudey.iteye.com/admin/blogs/1986446
直接看错误,然后再讲解决方法,欢迎大家补充
SEVERE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.mxy.service.AccountService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(mappedName=, shareable=true, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER, lookup=)}
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
....
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.mxy.service.AccountService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(mappedName=, shareable=true, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER, lookup=)}
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:301)
...
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
... 31 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.mxy.service.AccountService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(mappedName=, shareable=true, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER, lookup=)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924)
...
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:298)
... 51 more
十二月 06, 2013 4:55:17 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet exam
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.mxy.service.AccountService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(mappedName=, shareable=true, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER, lookup=)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924)
...
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1770)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
我承认错误比较多,看的眼花缭乱的
其实总结起来就2中错误
1.Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0'
2. No matching bean of type [com.mxy.service.AccountService] found for dependency
解决方法:(欢迎大家补充)
第一种情况:(网上找的解决方法)我当时就是这种情况
i think it comes from this line in your XML file:
<context:component-scan base-package="com.mxy.controller" />
Replace it by:
<context:component-scan base-package="com.mxy" />
第二种情况: 注入映射器
添加如下配置到Mybatis配置文件中,这种配置比较繁琐,每个接口都要配置下
<bean id="accountMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.mxy.mapper.AccountMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
或者添加下面的内容。这个方法比较爽,一劳永逸
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.mxy.mapper" />
</bean>
第三种情况:在serviceImpl中要类上要添加@Service
@Service
public class BaseServiceImpl implements AccountService {
第四种情况:
分享到:
相关推荐
在Spring整合MyBatis的过程中,我们需要在该文件中声明以下关键组件: 1. **数据源(DataSource)**: 数据源定义了如何连接到数据库。Spring支持多种数据源实现,如Apache的DBCP或Tomcat的JDBC数据源。配置中通常...
本文将深入探讨如何将Spring与MyBatis进行整合,以及在整合过程中可能遇到的问题和解决方案。 首先,整合Spring与MyBatis的核心在于Spring的DataSource、TransactionManager和SqlSessionFactoryBean。DataSource是...
**七、Spring整合MyBatis配置** 1. 在Spring的配置文件`applicationContext.xml`中,配置DataSource、SqlSessionFactory和MapperScannerConfigurer。 2. 配置`mybatis-spring`的`SqlSessionFactoryBean`,指定...
接下来,我们将详细分析在Spring框架中集成Mybatis所需的JAR包,以及这些JAR包各自的功能和作用。 ### 一、Spring框架简介 Spring框架是一个开源的Java平台,它提供了全面的基础架构支持,用于开发企业级应用。...
下面我们将详细探讨在Spring整合MyBatis过程中所需要的基本jar包及其作用。 首先,Spring的核心库是必不可少的。这包括`spring-core.jar`,它提供了基础的IoC(Inversion of Control,控制反转)服务;`spring-...
【标题】"maven-spring-mybatis"是一个项目示例,展示了如何将Spring框架与MyBatis持久层框架集成,以便在Java应用中实现高效的数据访问。该项目利用Maven进行依赖管理和构建流程。 【描述】中提到的关键知识点包括...
4. **事务管理**:Spring Batch 的事务管理可以与MyBatis无缝集成,确保整个批量处理过程的事务一致性。 5. **异常处理**:在Spring Batch 的跳过策略中,可以捕获MyBatis执行SQL时的异常,根据需要决定是否跳过...
《Spring MVC MYBatis企业应用实战+源码》是一份深度探讨如何在企业环境中整合并高效使用Spring MVC和MyBatis两大主流Java框架的资源包。这个资源包含了一本PDF电子书《spring+mybatis企业应用实战》以及配套的源...
《精通Spring整合MyBatis:架构师的实践指南》 ...通过理解这些核心概念和执行流程,开发者和架构师可以更深入地掌握Spring整合MyBatis的技术细节,从而在实际项目中更好地应用和优化这两个框架的集成。
这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...
《Spring与MyBatis整合详解及资源包下载指南》 在Java开发领域,Spring框架以其强大的功能和灵活性,成为企业级应用开发的首选。而MyBatis作为一个优秀的持久层框架,以其简洁高效的SQL操作能力,深受开发者喜爱。...
"cms -spring-mybatis框架权限管理系统" 这个标题表明我们讨论的是一个基于CMS(内容管理系统)的软件项目,该系统采用了Spring和MyBatis这两个流行的Java框架来实现。Spring是一个全面的后端开发框架,提供依赖注入...
在描述的"Spring、SpringMVC集成Mybatis所使用到的各版本约束提示包"中,"约束提示包"可能指的是不同版本的Spring和Mybatis的DTD文件。这些DTD文件通常位于JAR包的META-INF目录下,例如`spring-beans.dtd`、`mybatis...
在Java Web开发中,Spring和MyBatis是两个非常重要的框架,它们的集成可以构建高效、灵活的后端服务。本教程将详细讲解如何进行Spring与MyBatis的基础配置,同时涵盖分页功能的实现以及JSON异常处理。下面,我们将一...
Spring、MyBatis和CXF是Java开发中常用的三大开源框架,它们分别在不同层面上为应用程序提供服务。Spring作为一款全面的后端应用框架,提供了依赖注入(DI)、面向切面编程(AOP)以及丰富的上下文管理功能。MyBatis...
《Spring+Mybatis+SQLite/MySQL 整合实践详解》 在现代的Web开发中,Spring框架因其强大的功能和灵活性而被广泛采用,它提供了一种模块化的方式来组织应用程序,包括依赖注入、AOP(面向切面编程)以及对其他框架如...
然而,这里的 "Spring+Mybatis 代码生成工具" 可能是社区或第三方开发的扩展版,不仅生成 Mybatis 相关的代码,还包含了与 Spring 整合的部分,例如 Service 层的代码。 在压缩包 `MybatisGenerator` 中,可能包含...
首先,我们需要在项目中集成Spring和MyBatis。这通常涉及以下步骤: 1. **配置Spring**:创建一个`beans.xml`配置文件,声明Spring的Bean定义。在这里,我们将配置DataSource、SqlSessionFactory和...
《Spring与MyBatis整合详解及2.1.0版本应用》 在Java开发领域,Spring框架和MyBatis作为两个极为重要的组件,被广泛应用于企业级应用开发中。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,提供了全面...
Spring整合MyBatis后,可以通过@Autowired注解直接注入Mapper接口,无需关心具体的实现。 4. **Service层设计**:在业务逻辑层(Service层),我们可以使用Spring的AOP来实现事务控制。通常,我们会在Service方法上...