Skip to content

Conversation

@devin-ai-integration
Copy link

Summary

This PR upgrades the banking application from Java 17 to Java 21 (latest LTS) and Spring Boot 3.3.3 to 3.4.1. Key changes include:

  • Spring Boot: 3.3.3 → 3.4.1
  • Java: 17 → 21
  • Maven Compiler Plugin: 3.8.0 → 3.13.0 (fixed inconsistent source/target from 1.8 to 21)
  • MySQL Connector: Migrated from deprecated mysql-connector-java to mysql-connector-j (version managed by Spring Boot BOM)
  • Dockerfile: Updated base images to maven:3.9-eclipse-temurin-21 and eclipse-temurin:21-jre-alpine
  • Hibernate Dialect: Changed from deprecated MySQL8Dialect to MySQLDialect

Review & Testing Checklist for Human

  • Verify CI build passes - Local build could not be verified due to Java 17 environment; CI/Docker build uses Java 21 images
  • Test application startup - Ensure the app starts successfully with the new Spring Boot and Java versions
  • Verify database connectivity - The MySQL connector artifact changed; confirm JPA/Hibernate operations work correctly
  • Test authentication flow - Login, logout, and session management should work with Spring Security 6.4.x
  • Test financial operations - Verify deposit, withdrawal, and transfer functions work correctly with balance validation

Recommended Test Plan:

  1. Build and deploy the Docker image
  2. Register a new user and verify login works
  3. Perform deposit, withdrawal, and transfer operations
  4. Check transaction history displays correctly
  5. Verify logout and re-login flow

Notes

The existing Spring Security configuration already uses the modern lambda-based DSL, so no code changes were needed for security compatibility. The JPA entities and repositories use standard Jakarta Persistence annotations which are compatible with the new versions.

Link to Devin run: https://app.devin.ai/sessions/81ef529c32e343018bd1dadd88a99eb0
Requested by: Shawn Azman (@ShawnAzman)

- Update Spring Boot parent version from 3.3.3 to 3.4.1
- Update Java version from 17 to 21
- Update maven-compiler-plugin from 3.8.0 to 3.13.0 with Java 21 source/target
- Update MySQL connector from mysql-connector-java 8.0.33 to mysql-connector-j (managed by Spring Boot)
- Update Dockerfile base images to Java 21 (maven:3.9-eclipse-temurin-21, eclipse-temurin:21-jre-alpine)
- Update Hibernate dialect from MySQL8Dialect to MySQLDialect (deprecated in Hibernate 6.x)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants