From 2389af14927c6f38c540eb236fb2b0c2781f667d Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 09:21:37 +0530 Subject: [PATCH 01/12] Remove spring-boot-api-versioning module and integrate code into spring-boot-mvc-5 --- spring-boot-modules/pom.xml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index e53f4e0f5d7b..fa7947396c50 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -155,20 +155,4 @@ - org.junit - junit-bom - ${junit-jupiter.version} - pom - import - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - + org.junit \ No newline at end of file From 3f7017f402459eb1f80183a6d6e709b401341d01 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 09:24:44 +0530 Subject: [PATCH 02/12] Add API versioning examples to spring-boot-mvc-5 module --- .../ApiVersioningDemoApplication.java | 11 ++++++ .../controller/UserParamController.java | 27 ++++++++++++++ .../header/UserHeaderController.java | 27 ++++++++++++++ .../controller/mime/UserMimeController.java | 36 +++++++++++++++++++ .../UserContentNegotiationController.java | 20 +++++++++++ .../controller/v1/UserV1Controller.java | 14 ++++++++ .../controller/v2/UserV2Controller.java | 14 ++++++++ .../com/baeldung/versioning/model/UserV1.java | 9 +++++ .../com/baeldung/versioning/model/UserV2.java | 18 ++++++++++ 9 files changed, 176 insertions(+) create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/negotiation/UserContentNegotiationController.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v1/UserV1Controller.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v2/UserV2Controller.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV1.java create mode 100644 spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV2.java diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java new file mode 100644 index 000000000000..ab63019c76b5 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java @@ -0,0 +1,11 @@ +package com.baeldung.example.apiversioning; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApiVersioningDemoApplication { + public static void main(String[] args) { + SpringApplication.run(ApiVersioningDemoApplication.class, args); + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java new file mode 100644 index 000000000000..38a92a9ecba5 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java @@ -0,0 +1,27 @@ +package com.baeldung.versioning.controller; + +import com.baeldung.example.apiversioning.model.UserV2; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class UserParamController { + +@GetMapping("/api/users") +public Object getUsers(@RequestParam(name = "version", defaultValue = "1") String version) { + if ("1".equals(version)) { + return List.of("Alice", "Bob"); + } else if ("2".equals(version)) { + return List.of( + new UserV2("Alice", "alice@example.com", 30), + new UserV2("Bob", "bob@example.com", 25) + ); + } else { + return "Unsupported API version"; + } +} + +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java new file mode 100644 index 000000000000..0145025c8951 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java @@ -0,0 +1,27 @@ +// src/main/java/.../controller/header/UserHeaderController.java +package com.baeldung.versioning.controller.header; + +import com.baeldung.example.apiversioning.model.UserV1; +import com.baeldung.example.apiversioning.model.UserV2; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class UserHeaderController { + + @GetMapping(value = "/api/users", headers = "X-API-VERSION=1") +public List getUsersV1() { + return List.of(new UserV1("Alice"), new UserV1("Bob")); +} + +@GetMapping(value = "/api/users", headers = "X-API-VERSION=2") +public List getUsersV2() { + return List.of( + new UserV2("Alice", "alice@example.com", 30), + new UserV2("Bob", "bob@example.com", 25) + ); +} +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java new file mode 100644 index 000000000000..9d9bf3755f9f --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java @@ -0,0 +1,36 @@ +// src/main/java/com/baeldung/example/apiversioning/controller/mime/UserMimeController.java +package com.baeldung.versioning.controller.mime; + +import com.baeldung.example.apiversioning.model.UserV1; +import com.baeldung.example.apiversioning.model.UserV2; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class UserMimeController { + + public static final String V1_MEDIA = "application/vnd.example.users-v1+json"; + public static final String V2_MEDIA = "application/vnd.example.users-v2+json"; + + @GetMapping(value = "/api/users", produces = V1_MEDIA) + public List usersV1() { + return List.of(new UserV1("Alice"), new UserV1("Bob")); + } + + @GetMapping(value = "/api/users", produces = V2_MEDIA) + public List usersV2() { + return List.of( + new UserV2("Alice", "alice@example.com", 30), + new UserV2("Bob", "bob@example.com", 25) + ); + } + + // Optional fallback + @GetMapping(value = "/api/users", produces = MediaType.APPLICATION_JSON_VALUE) + public List defaultUsers() { + return List.of(new UserV1("Alice"), new UserV1("Bob")); + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/negotiation/UserContentNegotiationController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/negotiation/UserContentNegotiationController.java new file mode 100644 index 000000000000..592b0ed3cca7 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/negotiation/UserContentNegotiationController.java @@ -0,0 +1,20 @@ +package com.baeldung.versioning.controller.negotiation; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/users") +public class UserContentNegotiationController { + + @GetMapping(value = "/negotiation", produces = "application/vnd.col.users.v1+json") + public String getUsersV1() { + return "User list v1"; + } + + @GetMapping(value = "/negotiation", produces = "application/vnd.col.users.v2+json") + public String getUsersV2() { + return "User list v2"; + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v1/UserV1Controller.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v1/UserV1Controller.java new file mode 100644 index 000000000000..264be07d96d9 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v1/UserV1Controller.java @@ -0,0 +1,14 @@ +package com.baeldung.versioning.controller.v1; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v1/users") +public class UserV1Controller { + @GetMapping + public String getUsersV1() { + return "User list from API v1"; + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v2/UserV2Controller.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v2/UserV2Controller.java new file mode 100644 index 000000000000..42550cd57b0d --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/v2/UserV2Controller.java @@ -0,0 +1,14 @@ +package com.baeldung.versioning.controller.v2; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v2/users") +public class UserV2Controller { + @GetMapping + public String getUsersV2() { + return "User list from API v2 with extra fields"; + } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV1.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV1.java new file mode 100644 index 000000000000..17abd7a4c05d --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV1.java @@ -0,0 +1,9 @@ +package com.baeldung.versioning.model; + +public class UserV1 { + private String name; + public UserV1() {} + public UserV1(String name) { this.name = name; } + public String getName() { return name; } + public void setName(String name) { this.name = name; } +} \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV2.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV2.java new file mode 100644 index 000000000000..dae73563b161 --- /dev/null +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/model/UserV2.java @@ -0,0 +1,18 @@ +package com.baeldung.versioning.model; + +public class UserV2 { + private String name; + private String email; + private int age; + + public UserV2(String name, String email, int age) { + this.name = name; + this.email = email; + this.age = age; + } + + // getters + public String getName() { return name; } + public String getEmail() { return email; } + public int getAge() { return age; } +} \ No newline at end of file From 94e5c4908b6b06733a29f5c2fb9fc878db3296f3 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 10:01:16 +0530 Subject: [PATCH 03/12] Refactored API versioning examples into spring-boot-mvc-5, fixed imports and POM --- spring-boot-modules/spring-boot-mvc-5/pom.xml | 30 +++++++++++-------- .../ApiVersioningDemoApplication.java | 2 +- .../controller/UserParamController.java | 2 +- .../header/UserHeaderController.java | 4 +-- .../controller/mime/UserMimeController.java | 4 +-- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/spring-boot-modules/spring-boot-mvc-5/pom.xml b/spring-boot-modules/spring-boot-mvc-5/pom.xml index 497245a89320..e5144f30cc49 100644 --- a/spring-boot-modules/spring-boot-mvc-5/pom.xml +++ b/spring-boot-modules/spring-boot-mvc-5/pom.xml @@ -2,6 +2,7 @@ + 4.0.0 spring-boot-mvc-5 spring-boot-mvc-5 @@ -14,6 +15,22 @@ 1.0.0-SNAPSHOT + + 17 + 17 + 17 + 17 + + 3.2.2 + 3.0.0 + 2023.0.0 + 1.10 + 1.10.0 + + + com.baeldung.versioning.ApiVersioningDemoApplication + + @@ -81,15 +98,4 @@ - - 3.2.2 - 3.0.0 - com.baeldung.springboot.swagger.ArticleApplication - 2023.0.0 - 1.10 - 17 - - 1.10.0 - - - + \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java index ab63019c76b5..d3ae8173ce6c 100644 --- a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/ApiVersioningDemoApplication.java @@ -1,4 +1,4 @@ -package com.baeldung.example.apiversioning; +package com.baeldung.versioning; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java index 38a92a9ecba5..132df435b726 100644 --- a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/UserParamController.java @@ -1,6 +1,6 @@ package com.baeldung.versioning.controller; -import com.baeldung.example.apiversioning.model.UserV2; +import com.baeldung.versioning.model.UserV2; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java index 0145025c8951..277385d58469 100644 --- a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/header/UserHeaderController.java @@ -1,8 +1,8 @@ // src/main/java/.../controller/header/UserHeaderController.java package com.baeldung.versioning.controller.header; -import com.baeldung.example.apiversioning.model.UserV1; -import com.baeldung.example.apiversioning.model.UserV2; +import com.baeldung.versioning.model.UserV1; +import com.baeldung.versioning.model.UserV2; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RestController; diff --git a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java index 9d9bf3755f9f..dcd2038e5a8d 100644 --- a/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java +++ b/spring-boot-modules/spring-boot-mvc-5/src/main/java/com/baeldung/versioning/controller/mime/UserMimeController.java @@ -1,8 +1,8 @@ // src/main/java/com/baeldung/example/apiversioning/controller/mime/UserMimeController.java package com.baeldung.versioning.controller.mime; -import com.baeldung.example.apiversioning.model.UserV1; -import com.baeldung.example.apiversioning.model.UserV2; +import com.baeldung.versioning.model.UserV1; +import com.baeldung.versioning.model.UserV2; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; From 019be625d619fd692aeb87e2ede1b986fa663bf8 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 13:45:10 +0530 Subject: [PATCH 04/12] Fix dependencyManagement section in spring-boot-modules POM --- spring-boot-modules/pom.xml | 157 ++++-------------------------------- 1 file changed, 16 insertions(+), 141 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index fa7947396c50..23064d71c40c 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -1,143 +1,3 @@ - - - 4.0.0 - com.baeldung.spring-boot-modules - spring-boot-modules - 1.0.0-SNAPSHOT - spring-boot-modules - pom - - - com.baeldung - parent-boot-3 - 0.0.1-SNAPSHOT - ../parent-boot-3 - - - - flyway-multidb-springboot - spring-boot-admin - spring-boot-angular - spring-boot-config-order - spring-boot-annotations - spring-boot-annotations-2 - spring-boot-artifacts - spring-boot-artifacts-2 - spring-boot-autoconfiguration - spring-boot-basic-customization - spring-boot-basic-customization-2 - spring-boot-bootstrap - spring-boot-basic-customization-3 - spring-boot-logging-loki - spring-boot-caching - spring-boot-caching-2 - spring-boot-client - spring-boot-config-jpa-error - spring-boot-core - spring-boot-ctx-fluent - spring-boot-deployment - spring-boot-di - spring-boot-disable-logging - spring-boot-ci-cd - - spring-boot-custom-starter - spring-boot-crud - spring-boot-data - spring-boot-environment - spring-boot-exceptions - spring-boot-featureflag-unleash - spring-boot-flowable - spring-boot-graphql - - - - spring-boot-grpc - spring-boot-jasypt - spring-boot-jsp - spring-boot-keycloak - spring-boot-keycloak-2 - spring-boot-libraries - spring-boot-libraries-2 - spring-boot-libraries-3 - spring-boot-process-automation - spring-boot-logging-logback - spring-boot-logging-log4j2 - spring-boot-mvc - spring-boot-mvc-2 - spring-boot-mvc-3 - spring-boot-mvc-4 - spring-boot-mvc-5 - spring-boot-mvc-birt - spring-boot-mvc-jersey - spring-boot-nashorn - spring-boot-open-telemetry - spring-boot-parent - spring-boot-performance - spring-boot-pkl - spring-boot-property-exp - spring-boot-request-params - spring-boot-runtime - spring-boot-runtime-2 - spring-boot-security - spring-boot-security-2 - spring-boot-ssl-bundles - spring-boot-telegram - spring-boot-springdoc - spring-boot-swagger - spring-boot-swagger-2 - spring-boot-swagger-jwt - spring-boot-swagger-keycloak - spring-boot-swagger-springfox - spring-boot-testing - spring-boot-testing-2 - spring-boot-testing-3 - spring-boot-testing-4 - spring-boot-testing-spock - spring-boot-vue - spring-boot-actuator - spring-boot-data-2 - spring-boot-validation - - spring-boot-redis - spring-boot-cassandre - - spring-caching-3 - spring-boot-3 - spring-boot-3-grpc - spring-boot-3-native - spring-boot-3-observation - spring-boot-3-test-pitfalls - spring-boot-3-testcontainers - spring-boot-3-url-matching - spring-boot-3-2 - - spring-boot-3-4 - spring-boot-4 - spring-boot-resilience4j - spring-boot-retries - spring-boot-properties - spring-boot-properties-2 - spring-boot-properties-3 - spring-boot-properties-4 - spring-boot-properties-migrator-demo - spring-boot-aws - spring-boot-keycloak-adapters - spring-boot-mvc-legacy - spring-boot-springdoc-2 - spring-boot-ssl - spring-boot-documentation - spring-boot-graalvm-docker - spring-boot-validations - spring-boot-openapi - spring-boot-brave - spring-boot-simple - spring-boot-http2 - spring-boot-azure-deployment - spring-boot-heroku-deployment - - @@ -155,4 +15,19 @@ - org.junit \ No newline at end of file + org.junit + junit-bom + ${junit-jupiter.version} + pom + import + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + \ No newline at end of file From 97a043992b77e50e26f3ee9c99ffc05ebc1a2da1 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 13:53:23 +0530 Subject: [PATCH 05/12] Fix dependencyManagement section in spring-boot-modules POM --- spring-boot-modules/pom.xml | 155 +++++++++++++++++++++++++++++++++--- 1 file changed, 142 insertions(+), 13 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 23064d71c40c..c193cd09b42b 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -1,16 +1,145 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - - -parameters - - - - - + + com.baeldung + parent-boot-3 + 0.0.1-SNAPSHOT + ../parent-boot-3 + + + + flyway-multidb-springboot + spring-boot-admin + spring-boot-angular + spring-boot-config-order + spring-boot-annotations + spring-boot-annotations-2 + spring-boot-artifacts + spring-boot-artifacts-2 + spring-boot-autoconfiguration + spring-boot-basic-customization + spring-boot-basic-customization-2 + spring-boot-bootstrap + spring-boot-basic-customization-3 + spring-boot-logging-loki + spring-boot-caching + spring-boot-caching-2 + spring-boot-client + spring-boot-config-jpa-error + spring-boot-core + spring-boot-ctx-fluent + spring-boot-deployment + spring-boot-di + spring-boot-disable-logging + spring-boot-ci-cd + + spring-boot-custom-starter + spring-boot-crud + spring-boot-data + spring-boot-environment + spring-boot-exceptions + spring-boot-featureflag-unleash + spring-boot-flowable + spring-boot-graphql + + + + spring-boot-grpc + spring-boot-jasypt + spring-boot-jsp + spring-boot-keycloak + spring-boot-keycloak-2 + spring-boot-libraries + spring-boot-libraries-2 + spring-boot-libraries-3 + spring-boot-process-automation + spring-boot-logging-logback + spring-boot-logging-log4j2 + spring-boot-mvc + spring-boot-mvc-2 + spring-boot-mvc-3 + spring-boot-mvc-4 + spring-boot-mvc-5 + spring-boot-mvc-birt + spring-boot-mvc-jersey + spring-boot-nashorn + spring-boot-open-telemetry + spring-boot-parent + spring-boot-performance + spring-boot-pkl + spring-boot-property-exp + spring-boot-request-params + spring-boot-runtime + spring-boot-runtime-2 + spring-boot-security + spring-boot-security-2 + spring-boot-ssl-bundles + spring-boot-telegram + spring-boot-springdoc + spring-boot-swagger + spring-boot-swagger-2 + spring-boot-swagger-jwt + spring-boot-swagger-keycloak + spring-boot-swagger-springfox + spring-boot-testing + spring-boot-testing-2 + spring-boot-testing-3 + spring-boot-testing-4 + spring-boot-testing-spock + spring-boot-vue + spring-boot-actuator + spring-boot-data-2 + spring-boot-validation + + spring-boot-redis + spring-boot-cassandre + + spring-caching-3 + spring-boot-3 + spring-boot-3-grpc + spring-boot-3-native + spring-boot-3-observation + spring-boot-3-test-pitfalls + spring-boot-3-testcontainers + spring-boot-3-url-matching + spring-boot-3-2 + + spring-boot-3-4 + spring-boot-4 + spring-boot-resilience4j + spring-boot-retries + spring-boot-properties + spring-boot-properties-2 + spring-boot-properties-3 + spring-boot-properties-4 + spring-boot-properties-migrator-demo + spring-boot-aws + spring-boot-keycloak-adapters + spring-boot-mvc-legacy + spring-boot-springdoc-2 + spring-boot-ssl + spring-boot-documentation + spring-boot-graalvm-docker + spring-boot-validations + spring-boot-openapi + spring-boot-brave + spring-boot-simple + spring-boot-http2 + spring-boot-azure-deployment + spring-boot-heroku-deployment + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + + + + From b03b73aad7a4a80adde24f2201923553c3f4f025 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 18:36:17 +0530 Subject: [PATCH 06/12] Fix dependencyManagement section in spring-boot-modules POM --- spring-boot-modules/pom.xml | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index c193cd09b42b..bbe3604e1bcc 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -140,23 +140,22 @@ - - - - - org.junit - junit-bom - ${junit-jupiter.version} - pom - import - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - + + + + org.junit + junit-bom + ${junit-jupiter.version} + pom + import + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + \ No newline at end of file From 055e4e005043909d031efe5e85ce7b6b630571bf Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 18:41:00 +0530 Subject: [PATCH 07/12] Fix dependencyManagement section in spring-boot-modules POM --- spring-boot-modules/pom.xml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index bbe3604e1bcc..433bef362a4e 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -140,22 +140,22 @@ - - - - org.junit - junit-bom - ${junit-jupiter.version} - pom - import - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - + + + + org.junit + junit-bom + ${junit-jupiter.version} + pom + import + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + \ No newline at end of file From 76753d09fd2adec81dbd5b17d575fad3298e0772 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Mon, 8 Dec 2025 18:50:15 +0530 Subject: [PATCH 08/12] Fix dependencyManagement section in spring-boot-modules POM --- spring-boot-modules/pom.xml | 184 +++++++++--------------------------- 1 file changed, 43 insertions(+), 141 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 433bef362a4e..3fb5fb770780 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -1,146 +1,47 @@ - - com.baeldung - parent-boot-3 - 0.0.1-SNAPSHOT - ../parent-boot-3 - + + - - flyway-multidb-springboot - spring-boot-admin - spring-boot-angular - spring-boot-config-order - spring-boot-annotations - spring-boot-annotations-2 - spring-boot-artifacts - spring-boot-artifacts-2 - spring-boot-autoconfiguration - spring-boot-basic-customization - spring-boot-basic-customization-2 - spring-boot-bootstrap - spring-boot-basic-customization-3 - spring-boot-logging-loki - spring-boot-caching - spring-boot-caching-2 - spring-boot-client - spring-boot-config-jpa-error - spring-boot-core - spring-boot-ctx-fluent - spring-boot-deployment - spring-boot-di - spring-boot-disable-logging - spring-boot-ci-cd - - spring-boot-custom-starter - spring-boot-crud - spring-boot-data - spring-boot-environment - spring-boot-exceptions - spring-boot-featureflag-unleash - spring-boot-flowable - spring-boot-graphql - - - - spring-boot-grpc - spring-boot-jasypt - spring-boot-jsp - spring-boot-keycloak - spring-boot-keycloak-2 - spring-boot-libraries - spring-boot-libraries-2 - spring-boot-libraries-3 - spring-boot-process-automation - spring-boot-logging-logback - spring-boot-logging-log4j2 - spring-boot-mvc - spring-boot-mvc-2 - spring-boot-mvc-3 - spring-boot-mvc-4 - spring-boot-mvc-5 - spring-boot-mvc-birt - spring-boot-mvc-jersey - spring-boot-nashorn - spring-boot-open-telemetry - spring-boot-parent - spring-boot-performance - spring-boot-pkl - spring-boot-property-exp - spring-boot-request-params - spring-boot-runtime - spring-boot-runtime-2 - spring-boot-security - spring-boot-security-2 - spring-boot-ssl-bundles - spring-boot-telegram - spring-boot-springdoc - spring-boot-swagger - spring-boot-swagger-2 - spring-boot-swagger-jwt - spring-boot-swagger-keycloak - spring-boot-swagger-springfox - spring-boot-testing - spring-boot-testing-2 - spring-boot-testing-3 - spring-boot-testing-4 - spring-boot-testing-spock - spring-boot-vue - spring-boot-actuator - spring-boot-data-2 - spring-boot-validation - - spring-boot-redis - spring-boot-cassandre - - spring-caching-3 - spring-boot-3 - spring-boot-3-grpc - spring-boot-3-native - spring-boot-3-observation - spring-boot-3-test-pitfalls - spring-boot-3-testcontainers - spring-boot-3-url-matching - spring-boot-3-2 - - spring-boot-3-4 - spring-boot-4 - spring-boot-resilience4j - spring-boot-retries - spring-boot-properties - spring-boot-properties-2 - spring-boot-properties-3 - spring-boot-properties-4 - spring-boot-properties-migrator-demo - spring-boot-aws - spring-boot-keycloak-adapters - spring-boot-mvc-legacy - spring-boot-springdoc-2 - spring-boot-ssl - spring-boot-documentation - spring-boot-graalvm-docker - spring-boot-validations - spring-boot-openapi - spring-boot-brave - spring-boot-simple - spring-boot-http2 - spring-boot-azure-deployment - spring-boot-heroku-deployment - + 4.0.0 + com.baeldung.spring-boot-modules + spring-boot-modules + 1.0.0-SNAPSHOT + spring-boot-modules + pom - - - - org.apache.maven.plugins - maven-compiler-plugin - - - -parameters - - - - - - + + com.baeldung + parent-boot-3 + 0.0.1-SNAPSHOT + ../parent-boot-3 + + + + + spring-boot-mvc + spring-boot-mvc-2 + spring-boot-mvc-3 + spring-boot-mvc-4 + spring-boot-mvc-5 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + + + + + + org.junit @@ -158,4 +59,5 @@ + \ No newline at end of file From 90e1e549229d49ba68e0756b2b7e12efefbe4350 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Wed, 10 Dec 2025 11:35:39 +0530 Subject: [PATCH 09/12] Restore full list in spring-boot-modules POM --- spring-boot-modules/pom.xml | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 3fb5fb770780..2d29e79e53b8 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -17,15 +17,28 @@ ../parent-boot-3 - - - spring-boot-mvc - spring-boot-mvc-2 - spring-boot-mvc-3 - spring-boot-mvc-4 - spring-boot-mvc-5 - - + + flyway-multidb-springboot + spring-boot-admin + spring-boot-angular + spring-boot-config-order + spring-boot-annotations + spring-boot-annotations-2 + spring-boot-artifacts + spring-boot-artifacts-2 + spring-boot-autoconfiguration + ... + spring-boot-mvc + spring-boot-mvc-2 + spring-boot-mvc-3 + spring-boot-mvc-4 + spring-boot-mvc-5 + ... + spring-boot-simple + spring-boot-http2 + spring-boot-azure-deployment + spring-boot-heroku-deployment + From 62292b4ac31f596ae0f4e6088d866e6cca009ea0 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Wed, 10 Dec 2025 11:39:54 +0530 Subject: [PATCH 10/12] Restore spring-boot-modules/pom.xml from master --- spring-boot-modules/pom.xml | 146 ++++++++++++++++++++++++++++++------ 1 file changed, 122 insertions(+), 24 deletions(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 2d29e79e53b8..c13362e0a5d5 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -2,7 +2,6 @@ - 4.0.0 com.baeldung.spring-boot-modules spring-boot-modules @@ -17,28 +16,127 @@ ../parent-boot-3 - - flyway-multidb-springboot - spring-boot-admin - spring-boot-angular - spring-boot-config-order - spring-boot-annotations - spring-boot-annotations-2 - spring-boot-artifacts - spring-boot-artifacts-2 - spring-boot-autoconfiguration - ... - spring-boot-mvc - spring-boot-mvc-2 - spring-boot-mvc-3 - spring-boot-mvc-4 - spring-boot-mvc-5 - ... - spring-boot-simple - spring-boot-http2 - spring-boot-azure-deployment - spring-boot-heroku-deployment - + + flyway-multidb-springboot + spring-boot-admin + spring-boot-angular + spring-boot-config-order + spring-boot-annotations + spring-boot-annotations-2 + spring-boot-artifacts + spring-boot-artifacts-2 + spring-boot-autoconfiguration + spring-boot-basic-customization + spring-boot-basic-customization-2 + spring-boot-bootstrap + spring-boot-basic-customization-3 + spring-boot-logging-loki + spring-boot-caching + spring-boot-caching-2 + spring-boot-client + spring-boot-config-jpa-error + spring-boot-core + spring-boot-ctx-fluent + spring-boot-deployment + spring-boot-di + spring-boot-disable-logging + spring-boot-ci-cd + + spring-boot-custom-starter + spring-boot-crud + spring-boot-data + spring-boot-environment + spring-boot-exceptions + spring-boot-featureflag-unleash + spring-boot-flowable + spring-boot-graphql + + + + spring-boot-grpc + spring-boot-jasypt + spring-boot-jsp + spring-boot-keycloak + spring-boot-keycloak-2 + spring-boot-libraries + spring-boot-libraries-2 + spring-boot-libraries-3 + spring-boot-process-automation + spring-boot-logging-logback + spring-boot-logging-log4j2 + spring-boot-mvc + spring-boot-mvc-2 + spring-boot-mvc-3 + spring-boot-mvc-4 + spring-boot-mvc-5 + spring-boot-mvc-birt + spring-boot-mvc-jersey + spring-boot-nashorn + spring-boot-open-telemetry + spring-boot-parent + spring-boot-performance + spring-boot-pkl + spring-boot-property-exp + spring-boot-request-params + spring-boot-runtime + spring-boot-runtime-2 + spring-boot-security + spring-boot-security-2 + spring-boot-ssl-bundles + spring-boot-telegram + spring-boot-springdoc + spring-boot-swagger + spring-boot-swagger-2 + spring-boot-swagger-jwt + spring-boot-swagger-keycloak + spring-boot-swagger-springfox + spring-boot-testing + spring-boot-testing-2 + spring-boot-testing-3 + spring-boot-testing-4 + spring-boot-testing-spock + spring-boot-vue + spring-boot-actuator + spring-boot-data-2 + spring-boot-validation + + spring-boot-redis + spring-boot-cassandre + + spring-caching-3 + spring-boot-3 + spring-boot-3-grpc + spring-boot-3-native + spring-boot-3-observation + spring-boot-3-test-pitfalls + spring-boot-3-testcontainers + spring-boot-3-url-matching + spring-boot-3-2 + + spring-boot-3-4 + spring-boot-4 + spring-boot-resilience4j + spring-boot-retries + spring-boot-properties + spring-boot-properties-2 + spring-boot-properties-3 + spring-boot-properties-4 + spring-boot-properties-migrator-demo + spring-boot-aws + spring-boot-keycloak-adapters + spring-boot-mvc-legacy + spring-boot-springdoc-2 + spring-boot-ssl + spring-boot-documentation + spring-boot-graalvm-docker + spring-boot-validations + spring-boot-openapi + spring-boot-brave + spring-boot-simple + spring-boot-http2 + spring-boot-azure-deployment + spring-boot-heroku-deployment + @@ -73,4 +171,4 @@ - \ No newline at end of file + From 12a1f7ea89391dd05523b747bd9bfb8c22f065de Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Wed, 10 Dec 2025 12:01:30 +0530 Subject: [PATCH 11/12] Restore SqlScript module entry in aggregator POM --- spring-boot-modules/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index c13362e0a5d5..30e649922dcd 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -19,6 +19,7 @@ flyway-multidb-springboot spring-boot-admin + SqlScript spring-boot-angular spring-boot-config-order spring-boot-annotations From b6abbf59c310570f82f7091cca46bdd4881698a6 Mon Sep 17 00:00:00 2001 From: Sandip Kumar Roy Date: Wed, 10 Dec 2025 18:45:11 +0530 Subject: [PATCH 12/12] Restore aggregator POM from master; scope tutorial changes to spring-boot-mvc-5 --- spring-boot-modules/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml index 30e649922dcd..c13362e0a5d5 100644 --- a/spring-boot-modules/pom.xml +++ b/spring-boot-modules/pom.xml @@ -19,7 +19,6 @@ flyway-multidb-springboot spring-boot-admin - SqlScript spring-boot-angular spring-boot-config-order spring-boot-annotations