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

  • 相关阅读:
    七、正规式到正规文法与自动机
    正规文法与正规式
    Class文件加载详解
    ReentrantLock和Synchronized的区别
    synchronized的原理及锁升级
    (四)项目接入springcloud alibaba
    (三)项目搭建
    使用npm install安装前端项目依赖时报错
    java并发编程(二)
    (二)搭建虚拟机环境
  • 原文地址:https://www.cnblogs.com/mythdoraemon/p/7417687.html
Copyright © 2011-2022 走看看