解决 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); } }