Skip to content

Conversation

@devin-ai-integration
Copy link

@devin-ai-integration devin-ai-integration bot commented Oct 13, 2025

Upgrade Spring Boot from 2.1.4.RELEASE to 2.7.18

Summary

Upgraded Spring Boot parent version from 2.1.4.RELEASE to 2.7.18 as part of the Java 8 to Java 11 migration plan (Component 2: Spring Boot Framework Upgrade). This required upgrading Springfox from 2.9.2 to 3.0.0 and implementing a compatibility workaround for Spring Boot 2.6+ changes.

Key changes:

  • Spring Boot: 2.1.4.RELEASE → 2.7.18 (last 2.x LTS version)
  • Springfox: 2.9.2 → 3.0.0 (consolidated into springfox-boot-starter)
  • Added SpringfoxConfig with BeanPostProcessor to handle Spring Boot 2.6+ PathPatternParser compatibility
  • Added junit-vintage-engine for JUnit 4 test compatibility on JUnit 5 platform
  • Configured spring.mvc.pathmatch.matching-strategy: ant_path_matcher for Springfox
  • Updated Swagger configuration to scan only controller package

Automated testing performed:
✅ Build: mvn compile passed
✅ Tests: mvn test passed (all tests)
✅ Runtime: mvn spring-boot:run started successfully
✅ Swagger UI: Loaded correctly at http://localhost:8989/bank-api/swagger-ui/

Review & Testing Checklist for Human

⚠️ This is a major framework upgrade that requires thorough testing beyond automated checks:

  • Test actual banking API operations end-to-end: Create customer, create account, deposit, withdraw, transfer funds - verify business logic still works correctly
  • Verify Swagger UI completeness: Check that all expected endpoints appear in Swagger and you can execute test requests successfully. Note: URL changed from /swagger-ui.html to /swagger-ui/
  • Test H2 console and other features: Verify H2 console access (/h2-console), actuator endpoints (/actuator), and any authentication/security flows work as expected

Notes

  • The SpringfoxConfig uses reflection to filter handler mappings incompatible with Spring Boot 2.6+. This is a known workaround for Springfox 3.0 compatibility but should be monitored for potential issues.
  • Spring Boot 2.7.18 is the last 2.x version with LTS, making it the ideal intermediate step for Java 11 migration.
  • All managed Spring Boot dependencies (actuator, data-jpa, security, web, devtools) were automatically updated through the parent POM.

Link to Devin run: https://app.devin.ai/sessions/6463d6b9dffc4722b419d2e5ebc36dba
Requested by: Jaime Mizrachi (@jaime-leo)

- Updated Spring Boot parent version in pom.xml to 2.7.18
- Upgraded Springfox from 2.9.2 to 3.0.0 (springfox-boot-starter)
- Added junit-vintage-engine for JUnit 4 compatibility
- Updated Swagger configuration to restrict scanning to controller package
- Added SpringfoxConfig BeanPostProcessor to handle Spring Boot 2.6+ compatibility
- Configured Spring MVC path matching strategy to ant_path_matcher for Springfox compatibility
- Note: Swagger UI URL changed from /swagger-ui.html to /swagger-ui/

All tests pass and application runs successfully on Java 8.

Co-Authored-By: Jaime Mizrachi <[email protected]>
@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

@devin-ai-integration devin-ai-integration bot changed the base branch from dependabot/maven/io.springfox-springfox-swagger-ui-2.10.0 to master October 13, 2025 23:50
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