0 0

spring注解找不到对象匹配5

严重: Allocate exception for servlet dispatcher
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.mapper.UserMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:952)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:821)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)

 

 

applicationcontext.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">      
   
    <context:component-scan base-package="com" />
   
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.mapper" />
    </bean>
   
   
    <!-- 配置SqlSessionFactoryBean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
    </bean>
   
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
            </value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>1234</value>
        </property>
    </bean>
    </beans>

2013年4月16日 14:35

4个答案 按时间排序 按投票排序

0 0

com.mapper.UserMapper类上加 @Component试试

2013年4月16日 15:04
0 0

* This class supports filtering the mappers created by either specifying a marker interface or an
* annotation. The {@code annotationClass} property specifies an annotation to search for. The
* {@code markerInterface} property specifies a parent interface to search for. If both
* properties are specified, mappers are added for interfaces that match <em>either</em> criteria.
* By default, these two properties are null, so all interfaces in the given
* {@code basePackage} are added as mappers.

按理说 你的配置没问题  即basePackage包下的所有作为Mapper

你有没有把这个配置文件配置到web.xml?

2013年4月16日 14:52
0 0

对应要注入的实现类没有 加注解。看看是不是少加了
@Component

2013年4月16日 14:42
0 0

com.mapper.UserMapper
估计是这个类缺少注解,不受管于Spring,导致注入时找不到实例

2013年4月16日 14:38

相关推荐

    Spring demo 自动检测注解

    如果找不到匹配的bean,Spring不会抛出异常,而是允许null值注入。 5. **首选属性注入**:对于字段和方法,Spring会优先考虑带有`@Primary`注解的bean,`@Primary`表示这是首选的bean,当有多个候选bean时,会优先...

    Spring注解注入属性

    `@Resource`注解默认按照名称装配依赖,如果找不到与名称匹配的bean,则会退而求其次,尝试按类型装配。这意味着在使用`@Resource`时,你可以选择通过`name`属性显式指定bean的名称,也可以省略此属性,让Spring自动...

    spring注解方式解析

    在这个例子中,通过构造函数上的`@Autowired`注解,Spring会在运行时自动将合适的JdbcTemplate实例注入到UserRepository中。 除了这些基本注解,Spring还提供了其他的注解来增强功能,例如: - `@Component`、`@...

    我的博客spring注解概述的示例代码

    在这个"我的博客spring注解概述的示例代码"资源中,我们可能找到如何使用`@Autowired`来自动装配bean的实例。 首先,让我们了解什么是依赖注入。在面向对象编程中,一个类往往依赖于其他类来完成特定任务。依赖注入...

    spring注解笔记

    ### Spring注解知识点详解 #### 1. Spring注解基础 在Spring框架中,注解是一种轻量级的依赖注入方式,能够简化配置并提高开发效率。在本节中,我们主要介绍几个Spring中常用的注解,它们分别是@Component、@...

    最简单的一个spring注解实例

    如果找不到匹配的bean,我们可以使用 @Qualifier 注解指定bean的名称。 ```java @Component public class MyComponent { @Autowired private AnotherComponent anotherComponent; public void doSomething() {...

    spring注解 -----最简单的注解与自动装配例子

    在这里,Spring会尝试找到类型匹配的Bean并自动注入,如果找不到,可以通过@Qualifier注解指定特定的Bean名称。 除了@Autowired,Spring还提供了@Value注解,它能注入基本类型的值或者从配置文件中读取的属性值。...

    spring3.x注解

    使用 @Autowired 注解时,Spring 容器将抛出异常如果找不到匹配的 Bean 或者存在多个匹配的 Bean。 使用 @Qualifier 注释可以指定注入 Bean 的名称,从而改变自动注入的策略。 2. @Resource @Resource 注解的作用...

    Spring 注解学习手札(一) 构建简单Web应用

    在本篇《Spring注解学习手札(一)构建简单Web应用》中,我们将深入探讨如何使用Spring框架的注解来构建一个基本的Web应用程序。Spring框架是Java开发中的核心工具,尤其在企业级应用中广泛应用。它简化了依赖注入、...

    Spring注释包

    总之,"Spring注释包"涵盖了Spring框架中用于简化开发、增强代码可读性的核心注解。通过学习和熟练运用这些注解,开发者能够更高效地构建基于Spring的应用程序,实现松耦合、高内聚的设计目标。

    spring中注解的实现原理

    Spring注解的处理主要由两部分组成:元注解和注解处理器。元注解是用于创建其他注解的注解,如`@Target`、`@Retention`、`@Documented`和`@Inherited`,它们定义了注解的使用位置、生命周期、是否出现在Javadoc中...

    spring的注解

    - `required`:当设置为`false`时,如果找不到匹配的Bean,则不会抛出异常,而是将该值设置为null。 #### 2. `@Resource` - **定义**:`@Resource`注解也是用于自动装配Bean,它遵循JSR-250标准,并且在Spring环境...

    SPring注解及页面跳转实例

    ### Spring MVC 注解及页面跳转实例解析 #### 一、Spring MVC 页面跳转实例概述 在本实例中,我们将构建一个简单的Spring MVC应用程序,演示如何处理HTTP请求并实现页面跳转。通过这个实例,我们可以了解Spring ...

    spring注解aop demo

    Spring注解AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的一个重要特性,它使得开发者可以在不修改原有代码的情况下,通过添加注解来实现横切关注点,如日志、事务管理等。下面我们将深入探讨...

    Spring通过注解实现IOC

    当Spring找不到匹配类型的单一Bean时,会自动将该Bean注入到带有@Autowired的字段或方法中。例如: ```java @Component public class MyService { @Autowired private MyDependency dependency; // ... } ``...

    struts2和spring3注解整合问题

    通过以上步骤,你应该能够解决Struts2和Spring3注解找不到action的问题。如果问题依然存在,进一步检查项目的具体配置和代码,或者寻求更多专业帮助。记住,调试和解决问题是提升技术能力的重要环节。祝你成功解决...

    Spring java注解,元注解和自定义注解

    以下是一些常用的Spring注解: 1. **@Component** - 用于标记一个类作为Spring管理的Bean。 - 可以配合@ComponentScan注解使用,自动扫描指定包下的所有组件。 2. **@Service** - 特别适用于业务逻辑层的服务...

    spring4注解

    #### 二、Spring注解图示与分类 ##### 2.1 Spring-Context 模块的注解图 - **@Component**: 用于标记任何Java类作为Spring中的一个组件。该注解通常配合`&lt;context:component-scan&gt;`使用,以便Spring能够自动检测和...

    Spring依赖注入——java项目中使用spring注解方式进行注入.rar

    - 当使用`@Autowired`时,如果找不到匹配的bean,Spring会抛出异常。为了避免这种情况,可以使用`@Autowired`的`required`属性设置为`false`,允许字段或方法为空。 - 如果多个bean满足注入条件,而没有使用`@...

    Spring注解IOC所用的jar包

    本篇文章将详细探讨Spring注解驱动的IoC,以及相关jar包在实际应用中的作用。 Spring的注解IOC允许开发者在不使用XML配置的情况下,通过在类或方法上添加注解来声明依赖关系。这极大地简化了代码结构,提高了可维护...

Global site tag (gtag.js) - Google Analytics