zoukankan      html  css  js  c++  java
  • @Transactional失效的问题

    spring事物配置一般没有问题,

    优先检查mysql的引擎是否是innodb,

    是的话检查包的扫描是否有问题。

    我就是因为包的扫描导致@Transactional失效。

    具体情况如下,

    在spring-mvc.xml文件里写了

     <!-- 扫描controller(controller层注入) -->
       <context:component-scan base-package="com.test"/>

    在spring.xml文件里写了

      <!-- 扫描文件(自动将servicec层注入) -->
        <context:component-scan base-package="com.test.service"/>

    重复扫描,导致事物失效,后来把spring-mcv.xml里的扫描改成

    <context:component-scan base-package="com.test.controller"/>

    问题解决。。。。

    原因就是父容器已经对bean进行扫描并做了事物管理,但是错误写法中,子容器本该只扫描controller,但是因为写错,导致全部又扫了一遍。

    所以之前做的事务管理失效。

    关于原因,有大神已经做过解释,这里不再赘述

    http://stackoverflow.com/questions/7774295/spring-xml-file-configuration-hierarchy-help-explanation/7774597#7774597

  • 相关阅读:
    Maven_自动化构建和构建环节
    Maven_运行时环境
    构建的概念
    Maven_真的需要吗?
    28)拷贝构造函数
    27)构造和析构函数
    26)多文件形式编写类步骤
    25)类的封装
    24)类
    23)函数重载和函数指针
  • 原文地址:https://www.cnblogs.com/younldeace/p/5253644.html
Copyright © 2011-2022 走看看