Spring Boot Notes
Topic-wise Spring Boot notes, beginner to advanced.
A topic-wise Spring Boot reference. Each topic is its own page — use the sidebar to navigate, grouped into Beginner, Intermediate, and Advanced sections.
Go roughly in order the first time through — later topics assume earlier ones (e.g. Testing assumes you already know the Controller → Service → Repository layering from the Beginner/Intermediate sections).
Table of Contents
Beginner
| Module | Description |
|---|---|
| Introduction | What is Spring Boot, why use it? |
| Project Setup | Spring Initializr, project structure |
| Dependency Injection | Inversion of Control, Beans, @Autowired |
| Configuration | application.properties, @Value, @ConfigurationProperties |
| Annotations | @Component, @Service, @Repository, @Controller |
Intermediate
| Module | Description |
|---|---|
| REST APIs | @RestController, RequestMapping, path variables |
| Validation | Jakarta Bean Validation, @Valid, @NotBlank |
| Exception Handling | @ControllerAdvice, @ExceptionHandler |
| Spring Data JPA | Entities, Repositories, derived queries |
| Database Integration | Connecting to SQL/NoSQL databases |
| Lombok | Reducing boilerplate with @Data, @Builder |
Advanced
| Module | Description |
|---|---|
| Security | Spring Security basics, filtering, basic auth |
| JWT Authentication | Stateless auth with JSON Web Tokens |
| Testing | JUnit, Mockito, @SpringBootTest |
| Caching & Redis | @Cacheable and integrating Redis |
| Actuator Monitoring | Health checks, metrics, endpoints |
| Profiles & Environments | Managing environments (dev, test, prod) |
| Async & Scheduling | @Async, @Scheduled |
| Microservices Deployment | Docker, Kubernetes, building jars |
| Resilience & Rate Limiting | Resilience4j, rate limiting |
Last updated on July 15, 2026