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.
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