zoukankan      html  css  js  c++  java
  • 添加事务后 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type available

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

    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的内部知识

  • 相关阅读:
    索引初识
    python数据类型之 元祖、列表字典
    linux常用命令之网络命令
    linux命令之查找find &grep
    python数据类型之可hash,不可hash
    python面向对象之封装,多态与继承
    python之新式类与经典类
    python之random随机函数
    CSS3选择器(一)
    关于居中
  • 原文地址:https://www.cnblogs.com/mythdoraemon/p/7417687.html
Copyright © 2011-2022 走看看