Appearance
Spring Boot Roadmap: Basics to Advanced
Spring Boot is a Java framework. The one prerequisite is Java itself: if you have not worked through Core Java, do that first. Every chapter here assumes you are comfortable with classes, interfaces, annotations, generics, collections, exceptions and threads.
Read the chapters in order: each one uses what the earlier ones built.
The path through the series
| Module | Chapters | What you will be able to do |
|---|---|---|
| 1. Getting started | 1–4 | Explain what Spring Boot adds over Servlets and Spring MVC; create, build and run a project; organise it in layers. |
| 2. Controllers | 5 | Map HTTP requests to methods and read path variables, query parameters and JSON bodies. |
| 3. Beans and dependency injection | 6–8 | Understand how Spring creates and connects your objects, inject dependencies the right way, and pick a bean scope. |
| 4. Configuration | 9–11 | Drive the application from application.properties: inject values, create beans conditionally, switch per environment. |
| 5. AOP, transactions and async | 12–17 | Add behavior around methods without touching them, keep data consistent with @Transactional, and run work in the background with @Async. |
| 6. Requests and responses | 18–22 | Intercept and filter requests, add HATEOAS links, return proper status codes, and turn exceptions into clean error responses. |
| 7. Data access with JPA | 23–32 | Store and query data with JdbcTemplate and JPA: entities, caching, relationships, JPQL, native queries, Criteria and Specification APIs. |
| 8. Security | 33–42 | Understand common web attacks, then secure an API with form login, Basic authentication, JWT, OAuth2 and method-level rules. |
| 9. Production | 43–44 | Monitor a running application with Actuator and manage typed configuration with @ConfigurationProperties. |
One module looks ahead. Transactions (module 5) store data in a database, which module 7 explains in depth; the transaction chapters show the few lines of setup they need, so treat them as a preview of module 7.
After Spring Boot
- Unit testing with JUnit 5 and Mockito: checking each class on its own, with its dependencies replaced by mocks. It has its own series on this site.
- Microservices: splitting one application into services that find and call each other, with gateways, fault tolerance, distributed logging and tracing, and scheduling.
Next: Chapter 2 answers the first question: what problem does Spring Boot solve? It follows Java web development from Servlets to Spring MVC to Spring Boot, and shows what each step fixed.
Check yourself
- What do you need to know before starting this series?
- In which module do you first create a REST endpoint, and in which do you first learn what a bean is?
- Which module covers
@Transactional, and what does it borrow from a later module? - Where is unit testing covered?
Answers
- Core Java: classes, interfaces, annotations, generics, collections, exceptions and threads.
- Controllers in module 2 (chapter 5); beans in module 3 (chapter 6).
- Module 5 (chapters 13–15). It stores data through JPA repositories, which module 7 explains in depth.
- In the separate JUnit 5 and Mockito series.