Spring Boot Basics
● IOC container and Dependency Injection CommandLineRunner
○ Dependency Injection types
- ● Spring Bean Scopes
- ● Spring boot project structure
Restful API Design:
- ● Spring Boot Restful design
- ● Rest Endpoint Documentation Using Swagger & OpenAPI 3
- ● Bean validation
- ● Exception handling
- ● Logging
- ● Consuming Restful Web Services
○ Rest Template
○ FeignClient
○ WebClient
Spring Data
- ● Spring Profile
- ● Spring Data JPA (best practices)
- ● Spring Data JPA (Operator | Pagination | Sorting )
- ● Custom Queries in JPA
- ● Spring Data JPA Transaction Management
Spring Caching
- ● Spring Default Cache
- ● Spring Redis
Spring AOP
- ● Understanding Spring AOP Basics & its Components
- ● Before Advice, After Advice & After returning Advice, After Throwing & Around
Advice, Advice Realtime example
Introduction to Microservices Architecture
- ● Understanding microservice architecture principles
- ● Contrasting microservices with monolithic architecture
Service Registration and Discovery:
- ● Implementing service registration and discovery with Spring Cloud Netflix Eureka
- ● Building a service registry and a microservice client
Load Balancing:
- ● Load balancing strategies
- ● Implementing load balancing with Netflix Ribbon
Communication Between Microservices:
- ● Understanding communication between microservices
- ● REST-based communication
○ RestTemplate
○ FeignClient
○ WebClient
- ● Asynchronous communication
○ Apache Kafka integration with Spring Boot
Centralised Logging and Monitoring:
- ● Implementing logging with Grafana & Prometheus
- ● Monitoring microservices with Spring Actuator
API Gateway:
- ● Understanding API gateway use cases
- ● Building an API gateway (Spring cloud gateway/ kong)
- ● Routing and filtering requests through the gateway
Spring Security:
- ● Securing microservices with Spring security
- ● Authentication and Authorization
○ RBAC
○ REBAC
○ ABAC
Containerization and Deployment:
- ● Svc & Gitlab CI automation
- ● Spring Boot Heroku Deployment
- ● Spring Boot with Docker container
- ● Kubernetes architecture
Scaling and Resilience:
- ● Strategies for scaling microservices
- ● Implementing resilience pattern with Spring Circuit Breaker
Conclusion:
- ● Final project
- ● Interview preparation(external and internal)