Guided learning series · 5 modules
Learn Spring Boot one mechanism at a time.
Each module adds one idea to the same order-notification example. Read the explanation, attempt the timed checkpoint, use hints only when needed and then compare your code with the solution.
Current track
From plain Java wiring to Boot auto-configuration
The modules are deliberately separate. Complete them in order because each checkpoint assumes only the ideas introduced before it.
- 01Open module →
Why Spring exists
Start with plain Java, tight coupling, dependency inversion, dependency injection and the composition root.
Checkpoint: Refactor an OrderService so it can use email or SMS without creating either implementation. - 02Open module →
Build the first Spring Boot application
Create a minimal non-web Maven application and unpack what @SpringBootApplication actually starts.
Checkpoint: Write the POM, application class and application.properties from an empty project. - 03Open module →
Beans and constructor injection
Let Spring create services, inject interfaces and resolve multiple implementations with @Primary and @Qualifier.
Checkpoint: Make email the default sender while an OTP service explicitly requests SMS. - 04Open module →
Component scanning and explicit bean creation
Understand the scan boundary, @Configuration, @Bean, managed versus ordinary objects and proxyBeanMethods.
Checkpoint: Inject a fixed java.time.Clock into a timestamp service for deterministic output. - 05Open module →
Auto-configuration and back-off
See how classpath, bean and property conditions decide which infrastructure Spring Boot contributes.
Checkpoint: Evaluate three conditions and predict the exact beans left in the ApplicationContext.
How to use the series
Read briefly. Write from memory. Review precisely.
Start the suggested timer only when your editor is ready. Record whether you needed a hint, separate conceptual mistakes from mechanical ones, and finish by explaining why the solution works without looking at it.