Skip to content

Migrate to Spring Boot 3 and JakartaEE APIs

Daniel Gerhardt requested to merge spring-boot-3 into master

This MR migrates all Spring-based projects to Spring Boot 3.0. For the gateway, Spring Cloud has been upgraded to the 2022.0 release train. A release candidate of the dependencies is used.

  • Switched to jakarta.* namespace (from javax.*) for JEE.
  • Switched to JakartaEE variant of Pac4j's JEE dependency.
  • Adjusted alias forwarding logic for change in AntPathMatchers extractPathWithinPattern implementation which can no longer return null.
  • Adjusted ControllerExceptionHandler to signature change of ResponseEntityExceptionHandlers handleExceptionInternal method.
  • Removed ConstructorBinding annotation for ConfigurationProperties contructors.
  • The new securityMatchers and requestMatchers methods are now used of HttpSecurity configuration. The antMatcher method was removed as of Spring Security 6.0.
  • Check for referential instead of structural equality when comparing HttpMethod.

Breaking API change:

  • Trailing slashes are no longer accepted for URI's which are actually defined without one.

Removed feature:

  • The CAS authentication module has been removed for Spring Security 6.0 because there is not yet a CAS release with support for the JakartaEE Servlet API.

Closes: #173 (closed)
See: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0.0-M4-Release-Notes#spring-mvc-and-webflux-url-matching-changes
See: https://github.com/spring-projects/spring-security/pull/12137

Edited by Daniel Gerhardt

Merge request reports