Hitting the “refresh” button on your Spring web application
summary
Upgrade path shows a working sequence: move to Spring Boot 3.2 and Java 21, opt into virtual threads to drop native thread pools (app drops from ~60 threads to only a few virtual ones), replace RestTemplate with the new RestClient DSL, switch tests from H2 to Testcontainers so CI and dev run real Postgres, add Docker Compose support for one-command local start, enable TLS bundles with live certificate reloads, add traces (Zipkin) for scheduled checks, and use AppCDS to cut startup time roughly in half.
AI-written summary · about
chapters (23)
- 0:00Spring Boot refresh intro
- 1:06Legacy Ops Status app
- 3:20Ops Status app functionality
- 4:27Thread pool issues
- 5:53Spring Boot upgrade plan
- 6:58Spring Boot 3 upgrade
- 8:46Spring Boot 3.1.9 & Java 17
- 10:12Java 21 & virtual threads
- 12:42Virtual threads in Spring Boot
- 13:45Virtual threads performance
- 16:14RestTemplate to RestClient
- 18:04Testing RestClient
- 23:20Embedded DB test setup
- 25:48Testcontainers for testing
- 28:17Testcontainers config
- 31:13Docker Compose support
- 32:37Testcontainers module
- 34:46SSL bundles in Spring Boot
- 37:40Observability in Spring Boot 3
- 41:14Startup with AppCDS
- 44:05How AppCDS works
- 46:55AppCDS limits & future
- 47:18Q&A
related talks
51mHitting the “refresh” button on your Spring web application
01h 03mBootiful Spring Boot 3
59mBootiful Spring Boot 3.x
40mWhat’s New in Spring
38mBootiful Spring Boot 3
58mBootiful Spring Boot 3.x
52mSpring Recipes: A Collection of Common-Sense Solutions
39mHow to Reduce the Footprint of Your Spring Boot Applications
