Break cycle in spring-boot-data-* modules

There was a cycle in the spring-boot-data-* modules.

SpringDataWebAutoConfiguration (which sits at the spring-data-commons
level) referenced RepositoryRestMvcAutoConfiguration (which sits
at the spring-data-rest level). This dependency's expressed in the
wrong direction as data-rest depends on data-commons. The resulting
cycle was not noticable as it was expressed through a String afterName
attribute on `@AutoConfiguration`.

spring-boot-data-commons was also using spring-boot-data-jpa for its
tests, which also results in an inverted dependency relationship.

This commit reworks things so that all of the spring-boot-data-*
modules depend upon spring-boot-data-commons, mirroring the
dependency relationship in Spring Data. The integration tests in
spring-boot-data-commons have been reworked to use Spring Data
directly, avoiding the need for a circular from
spring-boot-data-commons to another spring-boot-data-* module.
This commit is contained in:
Andy Wilkinson
2025-05-30 15:19:14 +01:00
committed by Phillip Webb
parent e0a6237b8a
commit 9ee79c1bbc
21 changed files with 54 additions and 174 deletions

View File

@@ -10,6 +10,7 @@ description = "Spring Boot Data MongoDB"
dependencies {
api(project(":spring-boot-project:spring-boot"))
api(project(":spring-boot-project:spring-boot-data-commons"))
api(project(":spring-boot-project:spring-boot-mongodb"))
api("org.springframework.data:spring-data-mongodb")