Files
spring-boot-demo/boot4-migration/README.md
T

2.2 KiB

boot4-migration

Companion module for the ankurm.com post Spring Boot 3 to 4 Migration Guide (Updated for 4.1 and 4.2).

One small service (Web MVC, Security, Actuator, JDBC + Flyway, AOP aspect, RestClient.Builder, a Jackson serializer, three tests) in two forms:

Directory What it is Built by
before/ the service on Spring Boot 3.5.16 never by a normal build; scripts/run-all.sh copies it to a scratch dir
after/ the same service migrated to Spring Boot 4.1.2 cd after && mvn verify

run-all.sh builds before/ as written, then bumps only the parent version and records what breaks at each step: the build error, the javac errors, the start-up failure report, the things that start fine but behave differently, and the test failures. Every file in output/ is a real transcript from that script (JDK 25.0.5, Maven 3.9).

export JAVA_HOME=/path/to/jdk-25
./scripts/run-all.sh        # 15-25 minutes on a shared 2-vCPU box; needs Maven Central
Output Shows
01-before-boot35.txt before/ builds and runs on 3.5.16 (the baseline every other file is compared with)
02-bump-only-compile-errors.txt only the parent version changed: Maven POM error, then 12 javac errors
03-compiles-but-will-not-start.txt imports ported, starters not: compiles, fails at start-up (no RestClient.Builder)
04-starts-but-silently-wrong.txt starts, answers 200, but Flyway never ran, logs never rotate
05-properties-migrator.txt what spring-boot-properties-migrator does and does not report
06-after-boot41.txt after/: 8 tests pass, same endpoints, new health groups
07-jackson-property-order.txt bean property order on Jackson 2, Jackson 3, and use-jackson2-defaults
08-test-compile-errors.txt @MockBean and the old @AutoConfigureMockMvc package
09-test-runtime-failure.txt a plain @Mock field is null: compiles, fails at run time
10-security-dsl-compile-errors.txt the real javac message for the removed authorizeHttpRequests() chain

Not covered: Gradle, Kotlin, native image, and any library that has not shipped a Boot 4 release.