admin管理员组

文章数量:1571949

SSM框架练手,mapper层@Autowire创建bean怎么也不成功,报错:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImp': Unsatisfied dependency expressed through field 'userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.wanzi.mapper.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

搞了一天,终于发现有两处错误:

web.xml文件中缺少一段代码

<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

这一段代码的功能是注册Spring框架,启动spring容器,我的理解是spring容器没有启动成功,所以注解@Autowire出错了

还有就是,在applicationContext_service.xml文件中 ,该段代码

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataResources"></property> </bean>

其中ref="dataResources"  写成了value="dataResources",一不小心就错了

改了这两处之后,错误消失了

本文标签: DependencyUnsatisfiedexpressedUserMapperField