启动ssm项目报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.test.www.web.service.user.UserService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)} Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.test.www.web.service.user.UserService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
检查配置spring的配置文件里面的自动扫描配置、mybatis与spring整合配置、事务aop配置中的路径是否正确:
<!-- 自动扫描包 ,将带有注解的类 纳入spring容器管理 -->
<context:component-scan base-package="com.test.www"></context:component-scan>
<!-- mybatis文件配置,扫描所有mapper文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="dataSource" p:configLocation="/WEB-INF/conf/mybatis-config.xml" p:mapperLocations="classpath*:com/test/www/web/dao/*.xml"/> <!-- spring与mybatis整合配置,扫描所有dao --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="com.test.www.web.dao" p:sqlSessionFactoryBeanName="sqlSessionFactory"/>
<!-- 事务 aop 配置 --> <aop:config> <aop:pointcut id="serviceMethods" expression="execution(* com.test.www.web.service..*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/> </aop:config>
No qualifying bean of type [com.test.www.web.service.user.UserService] found for dependency:
以及contorller和serviceimp中的是否添加了正确的注解:
@Controller、@Service