Java & Spring Boot Course

Build production Spring Boot APIs on modern Java

A hands-on backend path — core Spring & dependency injection, REST APIs, Spring Data JPA, security, testing, microservices and observability — then into the territory that separates "I built a CRUD API" from "I can run this in production": distributed transactions, GraphQL, Spring Batch, JVM performance tuning, and progressive delivery. It ends with a two-week capstone service you architect, secure, test and deploy yourself.

26 Weeks Beginner → Job-Ready Self-Paced Java 21 LTS & Spring Boot 3
26
Weeks of study
22
Core modules
2
Capstone weeks
0→1
No prior Spring needed
Before You Start

Prerequisites & tooling

What you should already know

  • Core Java — classes, interfaces, collections, OOP basics
  • Comfortable with the command line and Git
  • No prior Spring experience required
  • JDK 21 (LTS) and an IDE like IntelliJ installed

Stack you'll work with

The same tools teams use to ship real Spring Boot services in production.

Java 21 LTS Spring Boot 3 Spring Data JPA Spring Security Maven / Gradle PostgreSQL Docker JUnit 5 & Testcontainers Redis Spring Cloud Spring for GraphQL Spring Batch
Syllabus

Your 26-week learning path

Twenty-two modules, from your first @RestController through microservices, GraphQL, batch processing and JVM tuning, to a two-week capstone service you deploy in a container.

01
WEEK 1

Java Foundations & Environment Setup

Refresh modern Java and get your backend toolchain running.

  • Records, sealed classes & pattern matching
  • JDK 21, Maven/Gradle & project structure
  • IDE setup & running your first Spring Boot app
Start this lesson
02
WEEK 2

Spring Core & Dependency Injection

Understand the container that powers every Spring application.

  • IoC container, beans & the bean lifecycle
  • Constructor injection & component scanning
  • Auto-configuration & starters explained
Start this lesson
03
WEEK 3

Building REST APIs

Design and build clean, well-validated HTTP APIs.

  • Spring MVC, @RestController & DTOs
  • Bean Validation & request/response mapping
  • Centralized error handling with @ControllerAdvice
Start this lesson
04
WEEKS 4–5

Data Persistence with Spring Data JPA

Model your domain and talk to a real relational database.

  • Entities, repositories & JPQL queries
  • Relationships, lazy loading & transactions
  • Schema migrations with Flyway
Start this lesson
05
WEEKS 6–7

Spring Security & Authentication

Lock down your API with modern, stateless authentication.

  • The security filter chain & password encoding
  • JWT-based authentication & OAuth2/OIDC login
  • Method-level authorization
Start this lesson
06
WEEK 8

Testing Spring Boot Applications

Build a layered test suite you can trust before every deploy.

  • Unit testing with JUnit 5 & Mockito
  • @SpringBootTest & MockMvc slice tests
  • Real-database integration tests with Testcontainers
Start this lesson
07
WEEKS 9–10

Microservices & Messaging

Move from a single service to a small distributed system.

  • Service-to-service calls with RestClient / WebClient
  • Event-driven messaging with Kafka/RabbitMQ
  • Resilience patterns with Resilience4j
Start this lesson
08
WEEK 11

Caching & Performance

Keep a growing service fast under real load.

  • The Spring Cache abstraction & Redis
  • Connection pooling & query performance
  • Async processing with @Async
Start this lesson
09
WEEK 12

Observability & Production Readiness

Understand what your service is doing once it's live.

  • Spring Boot Actuator & health checks
  • Metrics with Micrometer & structured logging
  • Distributed tracing basics
Start this lesson
10
WEEK 13

Containerization & Deployment

Package and ship your service the way production teams do.

  • Docker images with Cloud Native Buildpacks
  • CI/CD pipelines for a Spring Boot service
  • Deploying to Kubernetes — the basics
Start this lesson
11
WEEK 14

Reactive Programming with WebFlux

An introduction to Spring's non-blocking, reactive stack.

  • Project Reactor: Mono & Flux
  • Reactive data access & backpressure
  • When to reach for WebFlux vs. Spring MVC
Start this lesson
12
WEEK 15

Advanced Spring Data — Specifications, Projections & Query Optimization

Move past findAll() into the query patterns real production repositories need.

  • Dynamic queries with the JPA Criteria API & Specifications
  • DTO projections, entity graphs & solving N+1 for real
  • Batch inserts/updates & native queries when JPQL isn't enough
Start this lesson
13
WEEK 16

API Design at Scale — Versioning, Pagination & OpenAPI

Design an API surface that can evolve without breaking every client.

  • API versioning strategies & deprecation without breaking clients
  • Cursor-based pagination, filtering & sorting conventions
  • OpenAPI/Swagger docs & per-client rate limiting
Start this lesson
14
WEEK 17

Spring Cloud Microservices — Config Server, Eureka & Gateway

Grow from a couple of services into a real distributed system with shared infrastructure.

  • Centralized config with Spring Cloud Config Server
  • Service discovery with Eureka
  • Spring Cloud Gateway as a single entry point
Start this lesson
15
WEEK 18

Distributed Transactions & the Saga Pattern

Keep data consistent across services without a distributed database transaction.

  • Why two-phase commit doesn't fit microservices
  • Choreography vs. orchestration-based sagas
  • The transactional outbox pattern for reliable event publishing
Start this lesson
16
WEEK 19

Advanced Security — OAuth2 Authorization Server & Multi-Tenancy

Go from consuming OAuth2 to running your own, and isolating tenants correctly.

  • Running your own Spring Authorization Server
  • API keys & service-to-service (client credentials) auth
  • Multi-tenant data isolation strategies
Start this lesson
17
WEEK 20

Batch Processing with Spring Batch

Process large volumes of data reliably, with restart and skip logic built in.

  • Jobs, steps & the chunk-oriented processing model
  • Readers, processors & writers for a real CSV-to-database job
  • Restartability, skip/retry policies & scheduling a job
Start this lesson
18
WEEK 21

GraphQL with Spring for GraphQL

Give clients a query language instead of a fixed set of REST shapes.

  • Schema-first design with GraphQL SDL
  • @QueryMapping/@SchemaMapping resolvers
  • Solving GraphQL's own N+1 problem with DataLoader
Start this lesson
19
WEEK 22

Contract Testing & Advanced Test Strategy

Test the boundary between services, not just the code inside one.

  • Consumer-driven contract testing with Pact
  • Mutation testing to check whether your tests actually test anything
  • Testing resilience: timeouts, retries & circuit breakers under fault injection
Start this lesson
20
WEEK 23

JVM Performance Tuning & Virtual Threads

Understand what the JVM is actually doing when your service gets slow.

  • Heap, GC algorithms & reading a GC log
  • Thread dumps, heap dumps & profiling a live service
  • Java 21 virtual threads & when they help (and don't)
Start this lesson
21
WEEK 24

CI/CD & Progressive Delivery for Spring Boot

Take deployment from "push and hope" to a pipeline with a real safety net.

  • Multi-stage pipelines: build, test, scan, deploy
  • Blue-green & canary deploys for a Spring Boot service
  • Feature flags for decoupling deploy from release
Start this lesson
22
WEEKS 25–26 · CAPSTONE

Capstone: Ship a Production Spring Boot Service

Apply every module in one project — built, tested, secured and deployed by you.

  • Fully tested, secured, containerized service
  • A real CI/CD pipeline with a progressive rollout
  • Portfolio-ready project you can show employers
Start the capstone

Ready to build with Spring Boot?

Start with Week 1 and work through a real backend engineering path — or browse the Angular and LLM & ML courses if you're building out a full-stack or AI skill set.