spring编程式事务和声明式事务的区别

 我来答
硪丨暧恋
2017-04-03 · TA获得超过8979个赞
知道大有可为答主
回答量:5336
采纳率:93%
帮助的人:2119万
展开全部
1.选择编程式事务管理还是声明式事务管理:
当你只有很少的事务操作时,编程式事务管理通常比较合适。例如,如果你有一个Web应用,其中只有特定的更新操作有事务要求,
你可能不愿使用Spring或其他技术设置事务代理。这种情况下,使用 TransactionTemplate 可能是个好办法。
只有编程式事务管理才能显式的设置事务名称。
另一方面,如果你的应用中存在大量事务操作,那么声明式事务管理通常是值得的。它将事务管理与业务逻辑分离, 而且在Spring中配置也不难。
我们的开发中,一般使用到事务的地方比较少,我觉得,编程式事务足够了。
使用声明式事务,对我们这种对速度要求较高的应用中。反而会带来性能问题。

2:推荐事务处于一个较高层次,比如service上的某个函数(尤其是像我们这种sns而不像和钱挂钩的金融系统,对数据精确性要求不是很高的的应用),
而底层的dao可以不考虑事务(一般情况下,数据库自身的默认事务管理级别,就可以处理),否则可能会出现事务嵌套,增加程序复杂度。
事务往往和业务规紧密关联,当业务逻辑发生改变,意味着dao的大幅度改动。系统规模达到一定程度,修改风险相当大。
Spring事务的好处是不更改现有的dao,仅需对现有的service bean 进行配置或者尽量少的修改就达到事务效果了。
同时,把事务统一在service层,系统结构更清晰。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式