事务性:控制器与服务

事务性:控制器与服务,第1张

事务性:控制器与服务

我更喜欢仅使事务性的服务方法需要事务性,并控制服务中的事务性而不是控制器中的事务性。您可以创建一个包含其他服务方法的服务方法,并使用spring事务通过@Transactional批注中的传播来管理事务。

@Transactional(propagation =...)

编辑

如果我有2种方法,例如saveUser()和saveEmail()(因为我将电子邮件存储在数据库中,以便以后发送它们-
像队列一样),我将在服务中创建一个方法saveUserAndSendEmail(User
user),该方法将是事务性的。此方法将在@Repository组件中分别调用saveUser和saveEmail(),因为它们处理数据库。因此,我会将它们放在@Repository组件中,以使用数据库处理的方法,然后在@Service组件中控制事务性。这样,控制器将只需要担心在需要时提供数据和调用数据的麻烦。但是我进行事务是因为在整个方法成功执行之前,我不希望在数据库中提交更改。

但这是我通常使用的样式,我并不是说这一定是要走的路。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5621865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存