当前位置: 首页 > 知识库问答 >
问题:

解决spring依赖的Maven BOM+spring数据+spring安全?

施自怡
2023-03-14

Spring Data JPA文档建议使用Maven BOM(物料清单),原因是:

由于个别spring数据模块的启动日期不同,大多携带不同的主、次版本号。找到兼容的最简单的方法是依靠spring数据发布列车BOM,我们与定义的兼容版本一起出货。在Maven项目中,您可以在POM的 部分声明此依赖项

提供了官方实例的参考。

我有了BOM和DependencyManagement的概念。供应商正式向我们(开发人员)提供测试/推荐/支持的兼容性列表。太棒了!

为了同步移动版本,我需要一些管理以下BOM的“超级BOM”:

org.springframework:spring-framework-bom
org.springframework.data:spring-data-releasetrain
org.springframework.security:spring-security-bom

我如何选择兼容的?

是否有spring-超级BOM为所有伞(我的意思是官方或社区支持,所以我节省了我的时间,避免故障排除,如果发生,我已经找到并解决了问题-我有一个选项,返回社区解决方案)?

共有1个答案

丌官浩旷
2023-03-14

新的感谢你将spring平台的贬低指向@jumping_monkey。

现在您应该在org.springframework.boot:spring-boot-dependencies上进行中继。这并不意味着你开始使用spring boot。它只意味着你正在使用spring boot托管的依赖项管理!

因此您的构建文件可能如下所示:

apply plugin: 'io.spring.dependency-management'
dependencyManagement {
    imports {
        mavenBom "org.springframework.boot:spring-boot-starter-parent:${projSpringBootVersion}"
        mavenBom "org.springframework.cloud:spring-cloud-starter-parent:${projSpringCloudVersion}"
        mavenBom "org.springframework.cloud:spring-cloud-gcp-dependencies:${projSpringGcpVersion}"
    }
    applyMavenExclusions = false
}

注意,spring-boot-starter-parentspring-cloud-starter-parent版本之间仍然存在不确定性。不过还可以。至少它们有助于管理Hibernate/Jeckson/Whatever的版本!

老感谢@m.deinum指向spring IO平台

该项目提供了各种spring项目及其依赖项的版本。

实际依赖关系可以在相应的http://docs.spring.io/platform/docs/中查看,也可以从https://github.com/spring-io/platform/blob/master/platform-bom/pom.xml文件中查看不同的标记:https://github.com/spring-io/platform/tags

这在本地Git克隆中很容易做到:

$ git clone https://github.com/spring-io/platform.git
$ cd platform/
$ git tag --list
$ git co v1.0.2.RELEASE
$ less platform-bom/pom.xml

但是您在这里没有找到spring-Core/spring-MVC/字符串-Data/spring-Security的依赖项,因为它们位于父级pomspring-boot-starter-parent中,实际上还包括spring-boot-dependencies

spring-boot-dependencies具有对

  • spring-Framework-BOM
  • spring-data-releasetrain
  • spring-security-bom
  • spring-集成-BOM

因此,如果您的应用非常广泛-您可以使用io.spring.platform:platform-bom。但如果该列表过于复杂,只需使用org.springframework.boot:-boot-dependencies作为dependencymanagement

 类似资料:
  • 在SecurityServiceImpl中注入此RoleRepo时,我面临此错误。 我的spring上下文文件 我的角色类

  • 我尝试将Spring Boot应用程序从spring-data-redis 1.6.4.release升级到1.7.2.release,方法是将spring-data-redis依赖项添加到POM中,同时保持spring-boot-starter-redis不变(使用Spring Boot 1.3.5 release)。升级的应用程序启动失败,出现以下错误: 原因:java.lang.abstra

  • 本文向大家介绍详解Spring Bean的循环依赖解决方案,包括了详解Spring Bean的循环依赖解决方案的使用技巧和注意事项,需要的朋友参考一下 如果使用构造函数注入,则可能会创建一个无法解析的循环依赖场景。 什么是循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环调用,

  • Intellij在全新的kotlin/spring项目中给我错误,我无法从IDE中构建或运行该项目。 但是,如果我从命令行执行此操作,则没有问题,我可以构建和运行该应用程序。 对可能的问题有什么想法吗?我在InteliJ中尝试了Kotlin多平台JVM类型不匹配,但似乎无法解决这个问题。 更新: 清除了 gradle 缓存,重新安装了 Intellij,导入从选择了 Gradle 和 Kotlin

  • 本文向大家介绍Spring中循环依赖的解决方法详析,包括了Spring中循环依赖的解决方法详析的使用技巧和注意事项,需要的朋友参考一下 前言 说起Spring中循环依赖的解决办法,相信很多园友们都或多或少的知道一些,但当真的要详细说明的时候,可能又没法一下将它讲清楚。本文就试着尽自己所能,对此做出一个较详细的解读。另,需注意一点,下文中会出现类的实例化跟类的初始化两个短语,为怕园友迷惑,事先声明一

  • 本文向大家介绍详解Spring-bean的循环依赖以及解决方式,包括了详解Spring-bean的循环依赖以及解决方式的使用技巧和注意事项,需要的朋友参考一下 本文主要是分析Spring bean的循环依赖,以及Spring的解决方式。 通过这种解决方式,我们可以应用在我们实际开发项目中。 1. 什么是循环依赖? 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环