Java Modules in practice with Spring Boot
summary
A Spring Boot app is converted into explicit Java modules (domain, persistence, REST, BoardGameGeek client, security, application) using JDK 11+, Maven, Spring Data JPA, Spring Web, Spring Security with JWT, Jackson, JAXB RI, Surefire and JUnit Jupiter, and optional Kotlin interop. Migration follows a stepwise bottom-up process, exposes real pitfalls: split-package collisions (3,500+ potential collisions found in Maven Central), automatic module naming issues and deep-reflection / IllegalAccessErrors, ClassNotFound and NoSuchMethod fixes by adding requires/opens, upgrading deps and replacing Mongo with JPA. The modular app runs and successfully fetches ratings from BoardGameGeek. automatic-module-name
AI-written summary · about
chapters (20)
- 0:00Introduction
- 3:15Why modules
- 6:03Problems with modules
- 9:08Theory
- 11:45Preparation
- 14:40Demo
- 19:55Spring is Module
- 25:25Rest API
- 29:25Split Package
- 31:55Illegal Exes
- 32:45Exceptions
- 34:05IntelliJ
- 34:35CGLip
- 35:45Testing
- 36:45Deep Reflection
- 37:45Login
- 38:40Change dependency
- 38:55Kotlin support
- 40:15Main module
- 42:25Conclusion








