报错:Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of

目的是测试事务管理,通过面向切面编程和配置文件的方式

原码如下:

接口:

 

实现类:

测试方法:

 报错:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atguigu.crowd.service.api.AdminService'

原因分析:报错说没有找到有资格的AdminService这个类,但AdminService的实现类有注解@Service,不应该找不到,但发现另一个问题,就是实现类中AdminMapper没有加上注解@Autowired,按道理这应该是报空指针异常的,那么找不到类的原因到底是什么呢?

看完下图就知道了:

 我进行的测试是通过spring自带的测试工具进行测试的,且没有配置web.xml进行扫描,也没有造IOC容器classPathXMLApplicationContext,那么数据控制的配置文件是不会读取或者说加载到内存中的。

 解决方案

只需在注解@ContextConfiguration后加上事务配置文件的classPath就可以了

@ContextConfiguration(locations = { "classpath:spring-persist-mybatis.xml","classpath:spring-persist-tx.xml" })

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用中提到了一种问题解决方法,当使用Junit单元测试时,如果将待加载到Spring容器中且被@Configuration注解修饰的配置类定义为单元测试类的内部类,会导致解析失败。解决方法是将相关内部类移动到单元测试类的外部。例如,在示例代码中,将Config、Bean1和Bean2类移到TestApplicationContext类的外部。 引用中给出了一个测试AnnotationConfigApplicationContext()方法的示例代码。该代码演示了如何使用AnnotationConfigApplicationContext容器,并通过@Configuration注解定义了一个配置类Config,其中定义了两个Bean:Bean1和Bean2。 引用中提到了一个异常:org.springframework.beans.factory.NoSuchBeanDefinitionException,该异常表示找不到匹配类型的Bean。这可能是因为在Spring容器中找不到与指定的类型匹配的Bean定义。 综上所述,问题中的异常Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.demo的产生可能是因为在Spring容器中找不到匹配指定类型的Bean。您可以检查您的配置类和组件扫描是否正确,并确保正确加载了所需的Bean定义。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Caused by:org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type](https://blog.csdn.net/qq_38505969/article/details/123751384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer异常](https://download.csdn.net/download/weixin_38642864/12723222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值