解决 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type的问题

  具体错误如下:

  Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.thinkplatform.dao.UserLogDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency      annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

  经过排查发现在UserLogDaoImpl的实现类前面加个@Repository 就可以了

package com.thinkplatform.dao.impl;
import java.io.Serializable;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.thinkplatform.dao.UserLogDao;
import com.thinkplatform.entity.UserLog;


@Repository 
public class UserLogDaoImpl extends SqlSessionDaoSupport implements UserLogDao{

    public UserLogDaoImpl() {
        this.ns = "UserLogMapper";
    }
    @Autowired
    public void setSqlSessionfactory(SqlSessionFactory sqlSessionFactory) {
        super.setSqlSessionFactory(sqlSessionFactory);
    }
    
    //命名空间
    private String ns;
    
    
    public String getNs(){
        return this.ns;
    }
    
    
    public void insert(UserLog userLog) {
        this.getSqlSession().insert(ns+".insert",userLog);
    }
    
    public void update(UserLog userLog) {
        this.getSqlSession().update(ns+".update",userLog);
    }

    
    public String get(Serializable id) {
        return this.getSqlSession().selectOne(ns+".get",id);
    }
    
}

 

posted on 2018-05-25 10:23  shaomine  阅读(44064)  评论(0编辑  收藏  举报