Spring Puzzlers
summary
Shows concrete Spring surprises and fixes: annotations are not inherited causes lifecycle methods and custom post-processors to miss annotated methods; AOP never intercepts self-invocation so AOP doesn't apply to self-invocation and transaction boundaries silently collapse (nested propagation behaves differently than expected); proxy creation order makes custom post-processors see class-before-proxy so a small bean-post/post-construction fixer is built that re-injects proxy instances on ContextRefreshedEvent and restores expected behavior — a four‑year-old bug reproducible and patchable in minutes.
AI-written summary · about
chapters (13)
- 0:00Introduction to Spring Puzzlers
- 1:55Inheritance and annotations
- 6:22Annotation issues
- 10:40Post-processors and aspects
- 13:05Transaction problems
- 19:12Proxying issues
- 23:08Bug fixes
- 28:08Data caching
- 31:41Context initialization
- 36:23Java config and bean names
- 40:03Interfaces and Spring
- 47:09Bean creation
- 51:51Summary and tips
related talks
51mSpring Puzzlers - second season
49mBreaking the Spring Framework's code: annotation's witchcraft
01h 01mThe Proxy fairy and the magic of Spring
27mThe Inner Secrets of Spring
44mKeep Spring at Arm's Length!
49mSpring Debugger New Power: Where Should I Click to Demystify Spring Boot Magic?
49mSpring, Jakarta EE, CDI and Other Pathologies
55mOn Annotations — Time to Stop the Demons
