Course
Spring Boot
Practical Spring Boot for REST APIs, configuration, data persistence, validation, security concepts, observability, testing, Docker, and deployment.
Start courseintermediate to advanced / 115 lessons
Log in to track your progress through this course.
About this course
Who it is for
This course is for Java developers who want to build real backend services with Spring Boot, from a first REST API to secured, tested and deployed applications. You should know core Java; the Spring Framework course is a useful companion but not a requirement.
What it covers
You start by creating and configuring a Spring Boot project, then build REST APIs with validation, error handling and API documentation. The data modules cover Spring Data JPA, Hibernate mapping, pagination, transactions, caching and Redis. Spring Security covers authentication, authorization and JWT-based APIs. Further modules cover Spring AI, messaging and asynchronous processing, reactive Spring, testing, logging, Actuator and observability, Docker and deployment, and microservices with Spring Cloud. The course ends with a capstone project and interview preparation. Examples are written for Spring Boot 4.1 and Java 17 or later.
How to use it
If you are new to Spring Boot, follow the first three milestones in order, because the later modules assume you can already create a project, build an endpoint and save data. Experienced developers can jump straight to a topic such as security or deployment from the roadmap below.
Course roadmap
Your Spring Boot journey
- Milestones
- 16
- Topics
- 115
Milestone 1Getting Started with Spring Boot15 topics
- Spring vs Spring Boot vs Spring MVCUp next
- Project setup
- What is new in Spring Boot 4
- Dependency management and the starter parent
- starters
- Spring Boot annotations reference
- auto-configuration
- configuration properties
- Application properties and common settings
- profiles
- Spring Boot DevTools
- Application startup: runners and lifecycle events
- Multi-module projects
- Packaging and deployment: JAR, WAR and external Tomcat
- Creating a custom starter
Milestone 2Aspect-Oriented Programming (AOP)2 topics
Milestone 3Building REST APIs and Web Apps16 topics
- REST APIs
- Request mapping and parameters
- DTOs
- JSON with Jackson 3
- validation
- exception handling
- File upload and download
- API versioning
- Filters and interceptors
- Content negotiation: JSON and XML
- Filtering API responses: static and dynamic
- Internationalization (i18n)
- Spring HATEOAS
- OpenAPI
- Server-side rendering with Thymeleaf
- REST API best practices and the Richardson Maturity Model
Milestone 4Calling Other Services2 topics
Milestone 5Data Access and Persistence13 topics
- Spring Data JPA
- H2 database and a complete CRUD application
- Connecting to PostgreSQL and MySQL
- Hibernate
- Entity relationships in depth
- Custom queries and projections
- pagination
- Transactions in Spring Boot
- Database migrations with Flyway and Liquibase
- Solving the N+1 problem
- Auditing, optimistic locking and soft deletes
- JdbcClient and Spring Data JDBC
- Spring Data MongoDB
Milestone 6Caching and Redis2 topics
Milestone 7Spring Security13 topics
- security concepts
- JWT concepts
- Spring Security architecture and the filter chain
- Authentication with users and roles
- Password encoding
- Authorization rules and method security
- JWT authentication with OAuth2 Resource Server
- OAuth2 login with Google and GitHub
- Spring Authorization Server
- CSRF and CORS in Spring Security
- Passkeys and one-time token login
- Testing secured endpoints
- Security hardening checklist
Milestone 8Spring AI10 topics
Milestone 9Messaging and Async Processing7 topics
Milestone 10Reactive Spring Boot4 topics
Milestone 11Testing Spring Boot Applications5 topics
Milestone 12Production Readiness and Observability9 topics
Milestone 14Microservices with Spring Cloud6 topics
Milestone 15Advanced Spring Boot4 topics
Milestone 16Projects and Interview Preparation2 topics