今天遇到了一个奇怪的问题   在没添加事务之前  所有的代码都是好的 , 当我添加了事务之后, 代码报错

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type available

ApplicationContext:

<!-- 配置事务 -->
 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"></property>
 </bean>
 
<!-- 开启事务注解注入 -->
 <tx:annotation-driven transaction-manager="transactionManager"/>

BookShopServiceImpl

 @Transactional
 @Override
 public void purchase(String isbn, String username) {
//  1.获取书的单价
  int price = bookShopDao.findBookPriceByIsbn(isbn);
//  2.获取书的库存
  bookShopDao.updateBookStock(isbn);
//  3.更新用户信息
  bookShopDao.updateAccount(username, price);
 }

BookShopDaotest:

红色部分为添加的代码  , 然后机器认为有两个BookShopServiceImpl 类型的文件,但事实上只有一个。

bookShopDao = context.getBean(BookShopDaoImpl.class);
  bookShopService = (BookShopService) context.getBean("bookShopService");

之前是使用的是:

getBean(Class<BookShopDaoImpl> requiredType)

现在使用的是:

getBean(String name) throws BeansException最后在BookShopDao 中重新进行了Bean的获取  换了一种方式  用name的方式获取  而不是使用Class的形式

这样子机器就认识了。

还是需要自己去多学习下Spring的内部知识

添加事务后 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type available的更多相关文章

  1. springboot 报错 org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type 'com.example.service.HrService' available: 有没有大佬出个主意,我找了一天,刚入门springboot

    话不多说先上图,这是启动类的配置,这里配置了@ComponentScan("我的mapper的接口") 接下来是我的项目结构截图 然后是service 的截图,我在这里加了注解@S ...

  2. Caused by:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type "" available: expected at least 1 bean which qualifies as autowire candidate

    项目使用spring, mybatis.因为分了多个模块,所以会这个模块引用了其它模块的现在,结果使用Junit测试的时候发现有两个模块不能自动注入dao和service问题.解决后在此记录一下. 解 ...

  3. Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.qingmu.mybaitsplus.mapper.UserMapper' available:

    java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...

  4. spring Boot异步操作报错误: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.self.spring.springboot.Jeep' available

    我也是最近开始学习Spring Boot,在执行异步操作的时候总是汇报如下的错误: Exception in thread "main" org.springframework.b ...

  5. 解决 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type的问题

    具体错误如下: Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying be ...

  6. org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [dx.service.ItemService] found for dependency

    在整合ssm框架,测试service层的时候报错 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: ...

  7. springboot启动报错:Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.zxkj.lockserver.dao.CompanyDao' available: expected at least 1 bean which qua

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

  8. Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.thinkplatform.dao.UserLogDao' available: expected at least 1 bean which qualifies as autowi

    我出错的问题是: 检查:

  9. org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.oskyhang.gbd.service.UserService] found for dependency: expected at least 1 bean which qualifies as aut

    spring中一个符号的错误居然让我浪费了四五个小时才找出来,不得不给自己了两个耳光.. 由于新建项目与原来项目的目录结构有所不同,copy过来的配置文件,有些地方修改的不彻底,导致spring扫描注 ...

随机推荐

  1. spring框架整合hibernate框架简单操作数据库

    1.配置文件: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/ ...

  2. Java获取Object属性值

    做了一个拦截参数的需求,需要获取普通参数和对象参数 参数是Object类型,Object[] paramValues = pjp.getArgs(); 1.获取普通参数 ;i<paramValu ...

  3. 修改windows user 文件夹中的用户名

    假设我们需要将帐户A改名为B.首先我们需要用另一个管理员帐户C登陆系统. 1.在控制面板-〉用户帐户中将帐户A改名为B. 2.打开C:/Users或"用户"文件夹,将文件夹A重命名 ...

  4. 题目1522:包含min函数的栈

    #include <iostream> #include <cstdio> #include <stack> using namespace std; int ma ...

  5. switch_to 家族

    selenium做自动化的过程中,经常会遇到alert.frame和新的window,这是经常是switch_to家族大展拳脚的时候,先看看switch_to家族的成员: alert --返回浏览器的 ...

  6. WebStorm ES6 语法支持设置&babel使用及自动编译

    一.语法支持设置 Preferences > Languages & Frameworks > JavaScript 二.Babel安装 1.全局安装 npm install -g ...

  7. IEnumerable和IQueryable接口

    之间的区别 IQueryable继承于IEnumerable IEnumerable:IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等一些扩展方法之前数据就已经加 ...

  8. R0~R16寄存器作用(转)

    R0-R3     用作传入函数参数,传出函数返回值.在子程序调用之间,可以将 r0-r3 用于任何用途. 被调用函数在返回之前不必恢复 r0-r3.如果调用函数需要再次使用 r0-r3 的内容,则它 ...

  9. poj 3613 floyd + 快速幂

    题意:本题的大意就是问从S 到 T 经过边得个数恰为k的最短路是多少. 思路:对于邻接矩阵每一次floyd求的是每个点间的最短距离,则n次floyd就是每个点间n条路的最短距离(可以重复边); 但是由 ...

  10. 【C++】关于pow函数的用法

    在C++中,pow有多个重载函数: 在dev中,pow(int,int)可以执行,但是在别的地方是不可以被编译的:会提示 :error C2668: “pow”: 对重载函数的调用不明确 可以看见,是 ...