Skip to content

Conversation

@devin-ai-integration
Copy link

Summary

This PR completes the migration of the Spring Boot banking application from Java 8 to Java 11 as specified in JIRA ticket MBA-309.

Changes Made

1. Java Version Update

  • Updated java.version from 1.8 to 11 in pom.xml

2. Spring Boot Upgrade

  • Upgraded Spring Boot parent from 2.1.4.RELEASE to 2.7.18
  • This is a significant version jump that includes security updates and improved Java 11 support

3. Swagger/OpenAPI Migration

  • Removed legacy Springfox Swagger dependencies (springfox-swagger2 and springfox-swagger-ui)
  • Added SpringDoc OpenAPI dependency (springdoc-openapi-ui version 1.6.15)
  • Migrated all Swagger annotations to OpenAPI 3.0 standard:
    • @Api@Tag
    • @ApiOperation@Operation
    • @ApiResponse with code@ApiResponse with responseCode
  • Updated ApplicationConfig.java to use SpringDoc OpenAPI configuration
  • Note: Swagger UI URL has changed from /swagger-ui.html to /swagger-ui/index.html

4. Test Framework Update

  • Migrated tests from JUnit 4 to JUnit 5 (Jupiter)
  • Removed @RunWith(SpringRunner.class) annotation (no longer needed with @SpringBootTest)
  • Updated test imports to use org.junit.jupiter.api.Test

5. Documentation Updates

  • Updated README.md to reflect Java 11 requirements
  • Added note about JAVA_HOME environment variable requirement
  • Updated Maven version requirement to 3.6+
  • Documented new Swagger UI URL

Testing & Verification

Build: Application compiles successfully with mvn clean install
Tests: All tests pass with JUnit 5
Runtime: Application starts successfully on Java 11
Endpoints: REST API endpoints verified and working
Swagger: OpenAPI documentation accessible at new URL
H2 Console: Database console functional

Migration Notes

  • Lombok is managed by Spring Boot 2.7.18 parent and is compatible with Java 11
  • The application maintains all existing functionality
  • API endpoints remain unchanged
  • No breaking changes to the REST API contract

JIRA Reference

Ticket: MBA-309


Link to Devin run: https://app.devin.ai/sessions/5293aa17843e40c1b00c9750cdca4f47

Requested by: Anke Hao (anke.hao@windsurf.com) / @ankehao-dev

- Updated Java version from 1.8 to 11 in pom.xml
- Upgraded Spring Boot from 2.1.4.RELEASE to 2.7.18
- Replaced Springfox Swagger dependencies with SpringDoc OpenAPI 1.6.15
- Migrated Swagger annotations to OpenAPI 3.0 in controllers
- Updated ApplicationConfig to use SpringDoc OpenAPI configuration
- Migrated JUnit 4 tests to JUnit 5 (Jupiter)
- Updated README.md with Java 11 requirements and new Swagger URL

All tests pass and application starts successfully on Java 11.

Co-Authored-By: Anke Hao <anke.hao@windsurf.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.

1 participant