SSM下Controller层的事务配置问题

本文讲述了在SSM框架下遇到Controller层事务配置问题的解决过程。原本事务配置在Service层,但为实现多表联合修改,尝试在Controller层配置事务。通过分析配置加载顺序,发现Controller层需在spring-mvc.xml中引入事务注解驱动,以实现事务的正确管理。最终,通过调整配置成功解决了问题。
摘要由CSDN通过智能技术生成

问题背景:

在写项目过程中遇到了多表联合修改数据时的事务问题,按照之前的学习,事务都是配置在service层中的,但是我的项目模块里一个service对应一个数据表,所以想在controller层加一个针对多个表的数据修改以及添加的事务配置。悲惨的是,在controller层配置事务出错没有回滚!

  • 按照我已所接触的逻辑,控制层是不建议写业务逻辑的,所以在里面调用的是多个service层的接口(使用Autowired)来调用多个表的业务操作。但是多个表形成一个事务,所以我没找在service层里单独添加事务的合适的方法。如果有前辈想到合适的方法,望赐教!叩谢!

解决

原来的配置

  • 首先是在service层上添加事务的配置,我这里的事务处理采用的是注解的方式,所以配置文件相较于配置事务的方式大大简化了。
    首先命名空间中加入:

    xmlns:tx="http://www.springframework.org/schema/tx"
    
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd
    
  • 然后是xml文件的配置:

      <!-- service除了业务(操作dao)还要有事务 -->
      <tx:annotation-driven
      transaction-manager="txManager" />
      <!-- 配置Spring的声明式事务管理器 -->
      <bean id=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值