Spring Boot and Java deep dives
Spring Boot Transactions
A small bank API where each @Transactional pitfall has a demo endpoint that shows the bug, and the same endpoint with ?fixed=true shows the fix.
View code on GitHubGoals
- Demonstrate rollback rules, propagation, and isolation
- Demonstrate the classic bugs: self-invocation, checked exceptions, private methods, and deadlocks
- Every demo opens fresh accounts, so demos can run in any order
Requirements
- One demo endpoint per pitfall, with
?fixed=truefor the fix lockBothdeadlock fix that locks accounts in a consistent order- Optimistic locking demo
- README with curl examples for every demo
- 15 tests: one per bug, one per fix, plus the transfer API
Changelog
- 2026-09-28: Built and pushed to GitHub