当前位置: 代码迷 >> Java Web开发 >> spring 的事务管理有关问题
  详细解决方案

spring 的事务管理有关问题

热度:2282   发布时间:2016-04-11 00:07:45.0
spring 的事务管理问题
java web 开发,使用ssh框架,整个web程序分为dao层,service层,action层。在service层上有@Transactional(readOnly = true)注解,是给每个方法添加事务。我的疑问是:那session是何时开启的?打开session,打开事务,提交事务,关闭session的时机分别是什么时候,哪位大神知道的,给小弟解释下,不胜感激!

------解决方案--------------------
你看下transcationManager源码就知道了,里面就有打开session,打开事务,提交事务,关闭session
------解决方案--------------------
在service层用AOP技术,spring通过事物管理器(transcationManager)拦截service中的方法,即在方法执行前打开连接,开启事物,在方法执行后提交事物,关闭连接。在service层的方法里获取transcationManager打开的session执行数据库操作语句。
  相关解决方案