Learning track 02
Spring Boot, zero to production-ready
Twelve modules from HTTP basics to cloud deployment. One running BookStore API grows with every chapter so concepts compound instead of resetting.
- Articles
- 48
- Modules
- 12
- Total read
- 8 hr 45 min
- Streak
- 0 days
Start here
How HTTP Reaches Your Code
Web & Build Foundations
How HTTP reaches your code and how a Boot project is organised
- How HTTP Reaches Your CodeServlets, the container, and the request-response cycle that Spring Boot builds on.
- Maven and the Spring Boot LayoutPOM structure, build lifecycle, and where every file in a Boot project lives.
- Spring, IoC, and Why Boot ExistsThe Spring ecosystem, inversion of control, and how Boot removes boilerplate.
- Your First Spring Boot ApplicationGenerate a project at start.spring.io, run it, and understand what Boot set up for you.
IoC, Beans & Wiring
The container, injection styles, scopes and configuration
- The IoC Container and Spring BeansHow the ApplicationContext creates, wires and manages your objects.
- Constructor, Setter, and Field InjectionThree ways to inject dependencies — and why constructor injection is the default choice.
- Bean Scopes and LifecycleSingleton, prototype, request and session scopes — and the callbacks between birth and destruction.
- @Component, @Service, @Repository, @ControllerStereotype annotations that tell Spring what role each class plays in your app.
- Properties, YAML, and ProfilesExternalised configuration, environment profiles, and binding typed properties.
Spring Boot Core
Annotations, auto-configuration and the starter ecosystem
- @SpringBootApplication and FriendsThe annotations that bootstrap your app and what each one actually enables.
- How Auto-Configuration WorksConditional beans, AutoConfiguration.imports, and how Boot configures itself.
- Starters and the BOMCurated dependency bundles and how the Spring Boot BOM keeps versions aligned.
- @Conditional and Custom @ConfigurationWrite your own auto-configuration with conditional annotations and @ConfigurationProperties.
Building REST APIs
Layered architecture, CRUD, validation and API documentation
- Controller → Service → RepositoryThe three layers every Boot REST app uses and what belongs in each one.
- Mapping HTTP to Java Methods@RestController, @GetMapping, @PathVariable, @RequestBody and the rest of the mapping toolkit.
- Build a CRUD API Step by StepComplete BookStore CRUD — entity, repository, service and controller wired together.
- DTOs, Records, and Entity MappingWhy you never expose entities on REST APIs and how records make DTOs effortless.
- @ControllerAdvice and Problem DetailsCentralised error handling with @ExceptionHandler and RFC 7807 Problem Details.
- Bean Validation in Practice@Valid, built-in constraints, custom validators and validation groups.
- OpenAPI with SpringdocAuto-generated API docs, Swagger UI, and keeping documentation in sync with code.
Data & Persistence
JPA, transactions, migrations and connection pooling
- Entities, Repositories, and QueriesJPA entities, Spring Data repositories, and derived query methods.
- One-to-Many, Lazy vs EagerEntity relationships, fetch types, and the N+1 query trap.
- @Transactional Deep DiveTransaction boundaries, propagation levels, isolation and rollback rules.
- Schema Migrations with FlywayVersioned SQL migrations, ddl-auto pitfalls and zero-downtime schema changes.
- Connection Pooling in ProductionHikariCP settings, pool sizing math and monitoring active connections.
Cross-Cutting Concerns
AOP and the request middleware stack
Security
Authentication, JWT, OAuth2 and production hardening
- Filter Chain, Authentication, AuthorizationHow Spring Security protects your endpoints with a filter chain and role-based access.
- Stateless APIs with JWT / OAuth2Token-based authentication, JWT structure and OAuth2 resource server setup.
- CORS, CSRF, and Production ChecklistBrowser security, CSRF protection and the checklist before you deploy.
Async, Events & Messaging
Scheduling, application events, Kafka and caching
- @Async and @ScheduledBackground tasks, cron schedules and thread pool configuration.
- In-Process EventsApplicationEventPublisher, @EventListener and transactional event listeners.
- Kafka Producers and ConsumersKafkaTemplate, @KafkaListener, serialization and error handling with DLT.
- Spring Cache + Redis@Cacheable, cache eviction and Redis as a distributed cache backend.
Observability & Production
Actuator, metrics, tracing and graceful shutdown
Testing
Slice tests, MockMvc and Testcontainers
Performance & Reactive
Virtual threads, WebFlux, HTTP clients and batch jobs
- Virtual Threads in Boot 3.2+Enable virtual threads for Tomcat, @Async and scheduled tasks on Java 21+.
- When Reactive Wins (and When It Does Not)WebFlux vs MVC, Project Reactor basics and the virtual-threads alternative.
- RestClient vs WebClient vs RestTemplateThree HTTP clients, when to use each, and @HttpExchange declarative clients.
- Batch Jobs for Large DataChunk-oriented processing, restartability and when to reach for Spring Batch.
Architecture & Cloud
Microservices, resilience, deployment and cloud patterns
- Discovery, Config, GatewayService discovery, centralised config and API gateway with Spring Cloud.
- Circuit Breakers and RetriesResilience4j circuit breakers, retries, rate limiters and bulkheads.
- Containerizing and Deploying Boot AppsDockerfiles, health probes, graceful shutdown and Kubernetes deployment.
- Modular Monolith Before MicroservicesSpring Modulith for clean module boundaries inside a single deployable.
- S3, SQS, Secrets on AWSIntegrating AWS services into Boot apps for cloud-native deployments.