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" />

        <!-- 省略其他无关紧要的配置 -->        

        <!-- 配置扫描器,将mybatis接口的实现加入spring中 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 扫描所有dao接口的实现,加入到ioc容器中  -->
            <property name="basePackage" value="com.ssm"></property>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        </bean>

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

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

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值