为什么spring框架的大多数用户选择声明式事务管理
答案:1 悬赏:70 手机版
解决时间 2021-01-11 16:32
- 提问者网友:藍了天白赴美
- 2021-01-10 17:28
为什么spring框架的大多数用户选择声明式事务管理
最佳答案
- 五星知识达人网友:从此江山别
- 2021-01-10 17:48
首先你要明白spring的AOP不是对servic的每个方法都添加事务,而是根据你在service层写的方法名字的前缀来指定添加,比如
这上面2行就是默认添加事务的配置文件,很明显事务只对于find和query前缀的方法才添加,当然i也可以手动的添加,但实际开发项目中都是配置文件,默认添加的。
那问题来了 如果像你那样在service层调用了find方法再调用其它service层的query方法会不会冲突?是不会冲突的,因为一个session可以对应多个事务,当像你这种情况一个session要对应2个以上事务时候,根据spring SessionFactory配置文件 ,从第二个事务都嵌套在第一个find事务里。就是说后面的事务都包含在find方法的事务里。所以不冲突,我上面代码中的
propagation="REQUIRED"就是关键字,说明第二个事务开始都包含在第一个事务里
这上面2行就是默认添加事务的配置文件,很明显事务只对于find和query前缀的方法才添加,当然i也可以手动的添加,但实际开发项目中都是配置文件,默认添加的。
那问题来了 如果像你那样在service层调用了find方法再调用其它service层的query方法会不会冲突?是不会冲突的,因为一个session可以对应多个事务,当像你这种情况一个session要对应2个以上事务时候,根据spring SessionFactory配置文件 ,从第二个事务都嵌套在第一个find事务里。就是说后面的事务都包含在find方法的事务里。所以不冲突,我上面代码中的
propagation="REQUIRED"就是关键字,说明第二个事务开始都包含在第一个事务里
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯