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为所有伞(我的意思是官方或社区支持,所以我节省了我的时间,避免故障排除,如果发生,我已经找到并解决了问题-我有一个选项,返回社区解决方案)?
新的感谢你将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-parent
和spring-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互相持有对方,最终形成闭环