Five phases, deep-dive panels, runnable code examples, an end-to-end request diagram, and a 10-question quiz. Built for engineers reviewing Spring Boot 3.5.x apps on Java 21.
Trace one HTTP request from boundary to database. Each stop is a review checkpoint — click to reveal what to look for, code samples, and references.
Each phase builds the next. Click a card to expand checkpoints, code, and references.
Java 21 is the LTS baseline. Reviewers should reward idiomatic use of records, sealed types, pattern matching, and virtual threads — and challenge legacy idioms that ignore them.
Concurrency is where Spring apps quietly fall over. Java 21 introduced production-ready virtual threads. Most reviewers underestimate this section — do not.
One property turns on virtual threads for Tomcat and @Async. Use Boot 3.5.x for full integration.
Always pass an explicit executor. The default ForkJoinPool.commonPool() is shared globally.
A passing build is not a green light. Walk the test pyramid and demand each level is honest.
| LAYER | SLICE / TOOL | WHAT TO VERIFY | SMELL TO FLAG |
|---|
Coverage targets are not the goal — they are a floor. Set gates per package; meaningful tests beat percentage theatre.
The boring layers are where production incidents hide. Read them as carefully as the code.
Lombok is fine for value objects but Java 21 records often replace it. Refuse @Data on JPA entities — it generates broken equals/hashCode for managed entities.
Storage in UTC; presentation in the user's zone. Never use java.util.Date in new code; the java.time API is mandatory.
Findings without severity are noise. Use a four-tier scale — everyone on the team should know what each level means before the review hits inbox.
| FINDING | PHASE | SEVERITY | RECOMMENDED FIX |
|---|
Each question reflects a real review encounter. Read the snippet, pick the strongest answer, then read the rationale. Score updates live.