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