Error creating bean with name 'xxxx': Injection of autowired dependencies failed;

ssm整合时候出现此错误, 具体报错如下

Error creating bean with name ‘UserInfoService’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.car.dao.IUserInfoDAO com.car.service.UserInfoService.iUserInfoDAO; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.car.dao.IUserInfoDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}


看这句:

No qualifying bean of type [com.car.dao.IUserInfoDAO] found for dependency

没有找到我的dao层接口 , 所以检查下spring-config.xml下的配置, 发现只配置了sqlSessionFactory忘记写MapperScannerConfigurer了, MapperScannerConfigurer作用是扫描我们dao层的映射器接口

    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
        
        <property name="typeAliasesPackage" value="com.car.entity"/>
        
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    bean>

    
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.car.dao">property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
    bean>

造成此错误还有很多原因, 大多数是因为配置写错或忘记写了, 多检查下。

你可能感兴趣的:(【ssm】整合)