No qualifying bean of type 'xxx' available 问题解决

配置文件中没有写要扫描的包。
即这句话:

<context:component-scan base-package="包全名" />

单元测试代码:

// 省略import

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:spring.xml"})
public class MapperTest {

    @Autowired
    DeptMapper deptMapper;

    @Test
    public void testDeptAdd() {
        System.out.println(deptMapper);

    }
}

说说我的问题吧!我在进行单元测试的时候,出现了这个错误,网上一查才知道是,配置文件中没有写扫描包信息。一看加载的是spring.xml文件,就去这个文件中查找了。

spring.xml文件

        
        <context:component-scan base-package="com.ssm" />

                

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

我写了扫描包的信息了,怎么会出错呢?再仔细一看context:component-scan标签的内容,哦!扫描的包写错了。修改之后,再次运行测试代码,还是出现这个错误,这下可就真的不知道怎么弄了。没办法就继续看是不是其他哪里写错了,这一找还真发现了问题。在“扫描所有dao接口的实现,加入到ioc容器中”这个注释下面的包名又写错了。唉!还真是粗心大意啊!明明写着注释竟然还是写错!真的是笨啊!

总结:因为粗心忘写扫描包的配置信息,或者写了扫描包的配置信息但是包名写错了,就会导致这个错误的发生。

你可能感兴趣的:(Spring学习)