spring mvc-springmvc+mybatis 自动装配装配依赖的失败;嵌套例外

问题描述

springmvc+mybatis 自动装配装配依赖的失败;嵌套例外

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.fqcar.service.impl.UserServiceImpl.setUserDao(com.fqcar.dao.UserDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.fqcar.dao.UserDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5003)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.fqcar.service.impl.UserServiceImpl.setUserDao(com.fqcar.dao.UserDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.fqcar.dao.UserDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:659)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
... 22 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.fqcar.dao.UserDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1326)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1072)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:967)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:616)
... 24 more

下面是各层
//Dao层
package com.fqcar.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.fqcar.model.User;
@Repository
public interface UserDao {
List getUserByUserId();
}
//Service层
package com.fqcar.service;

import java.util.List;
import com.fqcar.model.User;

public interface UserService {

List<User> getUserByUserId();

}
//ServerImpl层
package com.fqcar.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.fqcar.dao.UserDao;
import com.fqcar.model.User;
import com.fqcar.service.UserService;

@Repository
public class UserServiceImpl implements UserService {
private UserDao userDao;

public UserDao getUserDao() {
    return userDao;
}
@Autowired
public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
}

public List<User> getUserByUserId() {
    // TODO Auto-generated method stub
    return null;
}

}
//Controller层
package com.fqcar.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.fqcar.model.User;
import com.fqcar.service.UserService;

@Controller
public class UserController {
private UserService userService;

public UserService getUserService() {
    return userService;
}
@Autowired
public void setUserService(UserService userService) {
    this.userService = userService;
}
@RequestMapping("login")
public void Test(){
    List<User> user=userService.getUserByUserId();
    System.out.println(user.size());
}

}


解决方案

@Service("userService")这个加在serviceimpl上试试

解决方案二:

楼上正解,@service就可以,service层就是这样写的,没有你那种注解方法

时间: 2024-08-01 17:52:19

spring mvc-springmvc+mybatis 自动装配装配依赖的失败;嵌套例外的相关文章

mapper类-spring mvc整合mybatis 为什么不把mapper接口类直接注入Controller呢

问题描述 spring mvc整合mybatis 为什么不把mapper接口类直接注入Controller呢 spring mvc整合mybatis 为什么不把mapper接口类直接注入Controller呢? 正常开发如下: 1.mapper.xml,mapper接口类,service接口,serviceImpl实现类,Controller控制类 2.serviceImpl实现类注入mapper接口类,在Controller控制类中注入service接口 问题1.为什么不直接把mapper接口

求大神帮忙啊,初次整合spring mvc 和mybatis 就遇到了这么烫手的山芋

问题描述 求大神帮忙啊,初次整合spring mvc 和mybatis 就遇到了这么烫手的山芋 用Mybatis 逆向工程得出model 和Mapper 以及mapper.xml 在网页中测试,网页一直处于正在连接状态,后台前台都不报错,单步调试报 not available native method! 解决方案 逐一在controller中打断点,再调试试试. 初步判断可能是数据库连接配置文件的问题,导致数据库连接获取不到.建议检查下数据库连接配置属性. 解决方案二: 解决方案三: 好好检查

一天内研究 Spring、Spring MVC、MyBatis 的纯干成果

待有空儿整理,希望 这篇不会石沉大海,要不然,过一段时间,俺自个也忘了,还得重新研究.

spring mvc+mybatis 事务控制不起作用

问题描述 用的是spring mvc和mybatis框架.数据库是mysql.然后发现事务配置了不起作用..业务逻辑是新增用户,用户新增成功之后再在其他表插入一条对应的用户角色关联信息.现在问题是假如用户插入成功之后..插入对应的用户角色关联信息出错后,用户那条新增记录不能自动删除.看了很多人说是因为@service提前扫描的问题.那个我改过了.还有说是表的引擎不是InnoDB.但是我们建的表是InnoDB.还有说要抛出RuntimeException.我也抛出了..但是还是没用.没办法.请大家

logback + slf4j + jboss + spring mvc

logback.log4j.log4j2 全是以同一个人为首的团伙搞出来的(日志专业户!),这几个各有所长,log4j性能相对最差,log4j2性能不错,但是目前跟mybatis有些犯冲(log4j2的当前版本,已经将AbstractLoggerWrapper更名成ExtendedLoggerWrapper,但是mybatis 2.3.7依赖的仍然是旧版本的log4j2,所以mybatis使用log4j2会报错),说到日志,还要注意另一外项目SLF4J( java的世界里,记日志的组件真是多!)

SI 系列入门 之 手把手构建 Spring MVC 工程

SI 系列入门 之 手把手构建 Spring MVC 工程 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. SI 前文有述,Spring MVC + MyBatis 的简称,因为 Spring

SI 系列入门 之 手把手构建 Maven Spring MVC 工程

SI 系列入门 之 手把手构建 Maven Spring MVC 工程 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. SI 系列入门 之 手把手构建 Spring MVC 工程 与标题仅一词之

log4j2 与 spring mvc整合

log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:http://logging.apache.org/log4j/2.x/,大家可以从官网的介绍看出它相比log4j第1代的种种优点. 一.基本使用 1.1 maven依赖项 1 <dependency> 2 <groupId>org.apache.logging.log4j</groupId> 3 <artifactId>log4j-api</artifactId> 4 &l

使用Intellij IDEA从零使用Spring MVC

原文:使用Intellij IDEA从零使用Spring MVC 使用Intellij IDEA从零使用Spring MVC 黑了Java这么多年, 今天为Java写一篇文章吧. 这篇文章主要是想帮助那些刚接触到Java, 同时想从事Java WEB GUI开发的人. 对我而言, 我很早就有想尝试用Java写WEB的想法, 可是没有一次成功过, 不管是用struts, 还是纯JSP, 总是配置不好, tomcat不能正确的运行我的程序. 自打那以后, 我一直在抱怨Java的application