程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目??

开发过程中遇到在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?的解决方法建议,希望对你解决在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?有所启发或帮助;

我正在使用一个遗留的 Spring Boot 项目,它的 pom.xml 中列出了 spring-boot-starter-data-jpa 依赖项,还有 spring-tx 依赖项(用于事务管理),例如@EnabletransactionManagement 管理注释和

  <dependency>
      <groupID>org.springframework.boot</groupID>
      <artifactID>spring-boot-starter-data-jpa</artifactID>
      <version>${spring.boot.version}</version>
    </dependency>

  <dependency>
      <groupID>org.springframework</groupID>
      <artifactID>spring-tx</artifactID>
      <version>${spring.version}</version>
    </dependency>

我的问题是 - 这种依赖是多余的吗? spring-boot-starter-data-jpa 不是默认为你管理事务,这样注释和这个额外的“spring-tx”依赖就没有意义了吗?

解决方法

是的,如果您不想明确声明 spring-tx 与 spring-boot-starter-data-jpa 一起使用的版本是没有意义的。

您要显式声明传递依赖项的唯一情况是因为其他依赖项依赖于该传递依赖项版本。

例:

A -> B -> C

D -> C

依赖 A 需要 B 需要 C 而依赖 D 也需要 C。但是因为导入依赖 C 的最短路径是依赖 D,它会从依赖 D 导入版本。如果此导入版本较低且不兼容使用依赖项 A 因为它需要不同的版本,然后会发生错误。这就是您需要使用满足两个依赖项的版本显式声明依赖项的时候。

大佬总结

以上是大佬教程为你收集整理的在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?全部内容,希望文章能够帮你解决在 pom.xml 和事务中使用 spring-boot-starter-data-jpa 和 spring-tx 的传统 spring boot 项目?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。