事务应该写在Service层。 因为service表示的业务,一组业务可能会执行多个到的方法。所以在Service层声明事务更好一点。 而且spring正好是Service层的解决方案。
Spring针对事务的管理API
Spring 可以管理事务, 但是真正完成操作的技术,spring可不管。 dao层使用的技术可能有很多。 jdbc、hibernate 、mybatis . 但是这几个框架,他们开启事务的办法,可能不一样。 spring为了统一管理事务,声明了一套规范出来,并且对底下的使用频率比较到的技术,都给出了具体的实现。
??
管理事务的规范是 : PlatformTransactionManager
??
jdbc | mybatis : DataSourceTransactionManager
hibernate : HibernateTransactionManager
??
spring对dao层使用什么技术,它不管,它统一规定,要操作事务,必须使用管理员!!!
提供了三种写法 编程式事务 、 声明式事务(xml & 注解)
纯靠写代码来完成事务配置
xml方式配置事务,其实就是使用AOP的思想,在方法执行前,开启事务,方法执行后,提交事务(回滚事务)
使用注解的方式来开启事务
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-86071-2.html