NoSuchBeanDefinitionException: No qualifying bean of type 'com.bj186.ssm.mapper.EmployeeMapper' available: expected at least 1 bean which qualifies as autowire candidate

在搭建SSM spring springmvc  mybatis整合的时候, 遇到了这个问题

说说我的问题吧!我在进行单元测试的时候,出现了这个错误,网上一查才知道是,配置文件中没有写扫描包信息。一看加载的是spring.xml文件,就去这个文件中查找了。

这个错误是因为自动扫描包配置出错。无法自动注入类到容器中

       <!--配置自动扫描的包,用于注解的扫描@Service @Controller-->
       <context:component-scan base-package="com.bj186.crm"></context:component-scan>

       <!--通过bean配置自动扫描并加载mapper-->
       <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
              <property name="basePackage" value="com.bj186.crm.mapper"></property>
              <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
       </bean>

正确设置好这段代码之后, 问题解决!

@Service("UserService")
public class UserServiceImpl implements UserService {

    @Resource
    private EmployeeMapper employeeMapper;

    public Employee selectEmployeeById(Integer eid) {
        return employeeMapper.selectByPrimaryKey(eid);
    }
}

 

 

 

参考资料: https://blog.csdn.net/Q_Sea__/article/details/79832569

https://blog.csdn.net/qq_38003454/article/details/80015389

posted @ 2019-06-10 21:08  何茫然zju  阅读(3899)  评论(0编辑  收藏  举报