Back to Courses
Intermediate

Mastering Spring Boot

A deep dive into building production-ready applications with Spring Boot. You'll cover REST APIs, data persistence, security, testing with Testcontainers, observability, and everything you need to ship well-crafted Spring Boot services with confidence.

9 Modules
54 Topics
Java Fundamentals required
Spring Boot 4.x

Course Curriculum

  • Auto-configuration & how it works
  • Spring Boot starters
  • Application properties & YAML configuration
  • Profiles — dev, test, prod
  • Spring Boot Actuator
  • DevTools & live reload

  • Controllers & request mapping
  • Request & response DTOs
  • Bean validation with @Valid
  • Global exception handling with @ControllerAdvice
  • API versioning strategies
  • OpenAPI & Swagger UI
  • CORS configuration

  • Entities & JPA mappings
  • Repository interfaces & derived queries
  • JPQL & native queries
  • Entity relationships — OneToMany, ManyToMany
  • Transactions & @Transactional
  • Pagination & sorting
  • Auditing — CreatedAt, UpdatedAt

  • Flyway setup & versioned migrations
  • Liquibase as an alternative
  • Rollback strategies
  • Zero-downtime migrations

  • Security filter chain & configuration
  • Username/password authentication
  • JWT-based stateless authentication
  • OAuth2 & OpenID Connect with Keycloak
  • Method-level security with @PreAuthorize
  • Testing secured endpoints

  • Unit testing service & domain logic
  • @WebMvcTest & MockMvc
  • @DataJpaTest with in-memory database
  • Testcontainers for real database tests
  • @SpringBootTest integration tests
  • WireMock for HTTP stubs
  • Test slices & performance tuning

  • Structured logging with SLF4J & Logback
  • Metrics with Micrometer & Prometheus
  • Distributed tracing with Micrometer Tracing
  • Custom Actuator health indicators & endpoints
  • Visualising metrics with Grafana

  • Spring Events for in-process messaging
  • RabbitMQ with Spring AMQP
  • Kafka with Spring Kafka
  • Async processing with @Async

  • Dockerising a Spring Boot application
  • Docker Compose for local development
  • Health checks & graceful shutdown
  • Externalized configuration & secrets
  • GraalVM native images