Skip to content
Chapter 01 · Spring Boot

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 ​

ModuleChaptersWhat you will be able to do
1. Getting started1–4Explain what Spring Boot adds over Servlets and Spring MVC; create, build and run a project; organise it in layers.
2. Controllers5Map HTTP requests to methods and read path variables, query parameters and JSON bodies.
3. Beans and dependency injection6–8Understand how Spring creates and connects your objects, inject dependencies the right way, and pick a bean scope.
4. Configuration9–11Drive the application from application.properties: inject values, create beans conditionally, switch per environment.
5. AOP, transactions and async12–17Add behavior around methods without touching them, keep data consistent with @Transactional, and run work in the background with @Async.
6. Requests and responses18–22Intercept and filter requests, add HATEOAS links, return proper status codes, and turn exceptions into clean error responses.
7. Data access with JPA23–32Store and query data with JdbcTemplate and JPA: entities, caching, relationships, JPQL, native queries, Criteria and Specification APIs.
8. Security33–42Understand common web attacks, then secure an API with form login, Basic authentication, JWT, OAuth2 and method-level rules.
9. Production43–44Monitor 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 ​

  1. What do you need to know before starting this series?
  2. In which module do you first create a REST endpoint, and in which do you first learn what a bean is?
  3. Which module covers @Transactional, and what does it borrow from a later module?
  4. Where is unit testing covered?
Answers
  1. Core Java: classes, interfaces, annotations, generics, collections, exceptions and threads.
  2. Controllers in module 2 (chapter 5); beans in module 3 (chapter 6).
  3. Module 5 (chapters 13–15). It stores data through JPA repositories, which module 7 explains in depth.
  4. In the separate JUnit 5 and Mockito series.