开发框架:Spring4+Mybatis3+Jta(atomikos)
运行单元测试报以下错误:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'controller.UserController' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
最终排查发现是<context:component-scan/>的原因导致。
- 项目结构:

- applicationContext.xml配置信息:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd" default-autowire="byName"> <!-- 1.扫描注解--> <context:component-scan base-package="controller.*"></context:component-scan> <context:component-scan base-package="mapper.*"></context:component-scan> <context:component-scan base-package="model.*"></context:component-scan> <context:component-scan base-package="service.impl"></context:component-scan> <!--2.注解驱动--> <mvc:annotation-driven></mvc:annotation-driven> </beans>base-package="controller.*"有误,应为base-package="controller"
本文介绍了一个关于 Spring MVC 单元测试中出现 NoSuchBeanDefinitionException 的问题及解决方案。错误出现在尝试注入 controller.UserController 时,由于 applicationContext.xml 中的 context:component-scan 配置不当导致。

1万+

被折叠的 条评论
为什么被折叠?



