chore: Complete Spring Boot 4.x migration - #50
Open
pacphi wants to merge 2 commits into
Open
Conversation
- Upgrade Spring Boot from 4.0.0 to 4.0.1 - Upgrade Java from 8 to 21 - Update Gradle wrapper from 6.1.1 to 9.1 - Migrate from deprecated reactive-pg-client to Spring Data R2DBC - Implement ReactiveCrudRepository pattern for cleaner data access - Add Spring Data annotations to Person entity (@table, @id, @column) - Replace deprecated BodyInserters.fromObject() with fromValue() - Update application.yml with R2DBC configuration - Remove obsolete PgSettings and manual connection handling - Upgrade test framework to Testcontainers - Comprehensively update README with R2DBC migration notes and updated instructions Benefits of R2DBC migration: - Standard Spring Data repository interfaces - Automatic connection pool management - Better error handling and transaction support - Active community and long-term support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
This commit completes the migration to Spring Boot 4.0.1 with all required build configuration and code updates. Build Configuration Changes: - Migrated from buildscript to modern Gradle plugins DSL - Added Spring Boot 4.0.1 plugin - Added dependency-management plugin 1.1.7 - Updated Java compatibility to version 25 - Added Jackson BOM 3.0.2 for Jackson 3.x support - Fixed R2DBC PostgreSQL dependency (org.postgresql:r2dbc-postgresql) - Added JUnit Platform test configuration Code Changes: - Updated ServerRequest.methodName() to method().name() in PersonHandler (Breaking change in Spring Framework 6.2/Spring Boot 4.x) - Migrated test from JUnit 4 to JUnit 5 - Changed from @RunWith(SpringRunner.class) to native JUnit 5 - Updated @test import to org.junit.jupiter.api.Test - Removed deprecated SpringRunner and RunWith annotations Validation: - Clean build: PASSED - Unit tests: PASSED - Dependencies verified: Jackson 3.0.2 (tools.jackson.core) Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR completes the migration to Spring Boot 4.0.1 with all required build configuration and code updates to address breaking changes in Spring Framework 6.2 and Spring Boot 4.x.
Changes
Build Configuration
Code Changes
Spring Framework 6.2 Breaking Changes
Fixed:
ServerRequest.methodName()removed in Spring Framework 6.2Updated in
PersonHandler.java(3 methods):JUnit 4 → JUnit 5 Migration
Migrated
ReactiveJdbcDemoApplicationTests.java:@RunWith(SpringRunner.class)org.junit.jupiter.api.Test)Validation
Test Plan
Files Modified
build.gradle- Build system modernizationsrc/main/java/.../PersonHandler.java- Spring Framework 6.2 API updatessrc/test/java/.../ReactiveJdbcDemoApplicationTests.java- JUnit 5 migration🤖 Generated with Claude Code