【问题标题】:Spring boot declarative transaction managementSpring Boot 声明式事务管理
【发布时间】:2019-06-20 10:35:20
【问题描述】:

我正在开发一个用Spring-BootJPA 编写的应用程序,该应用程序是从头开始的。所以我正在考虑在其中引入事务管理。应用程序中有实体层和服务层。现在我在想的是与 Spring 声明式事务管理一起使用。因此,我决定将@Transaction 注释放在服务层本身的顶部,如下所示,请告知是否有最好的方法来做同样的事情,请注意我正在使用 spring-boot-starter- data-jpa 依赖本身

@Transactional
public class UserService {

}

【问题讨论】:

  • 这是一种常用的方法;你在正确的道路上。
  • @Jesper 请添加您的评论作为答案。我厌倦了在 cmets 中查看已经回答的问题。

标签: java spring-boot


【解决方案1】:

问题有点过于笼统,但您的思维方式是使用声明式事务管理的标准且可接受的方式之一。我通常按​​照服务方法来做。通过这种方式,您可以指定事务是否为只读以及每个特定服务方法的一些其他参数,我认为这更灵活。

【讨论】:

    【解决方案2】:

    不清楚您的问题是什么;你只是想让别人告诉你你的方法是有效的吗?

    当您设计具有分层架构的 Spring 应用程序时,通常在服务层上有事务边界。然后,服务层使用 Spring Data 存储库(位于数据访问层中)。您在服务层上使用@Transaction 注释的方法是执行此操作的常用方法。所以你在正确的轨道上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 2011-04-12
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      相关资源
      最近更新 更多