Durgesh Kumar Tiwari
LIVE BATCH
Spring Boot and Microservices
Prerequisite
Laptop with Good Internet Connection.
Good Command on Core Java
Specially
o OOPS
o Collection Framework
o Java 8 Features
o Exception. Handling
o String Handling
Week 1: Introduction to Spring Boot
Introduction to Spring Boot
Feature and benefits of Spring Boot
Comparison with Spring Framework.
Development Environment Setup.
o Installing Java, IntelliJ, STS, NetBeans as per requirements.
o Creating Spring Boot Application
Using Spring Initializer
Using IntelliJ
Using STS
o Understanding Project Structure
o Running Application
Using IntelliJ
Running Jar files
Week 2: Spring Boot Core Concepts
Inversion of Control (IoC): Understanding IoC and the role of the Spring Container.
Dependency Injection (DI): Constructor injection, setter injection, and field injection.
Loose and Tight Coupling with Example
Bean Lifecycle: Bean creation, initialization, destruction.
Bean Scopes: Singleton, prototype, request, session, application.
@Component, @Service, @Bean, @Configurations, @ComponentScan:
Stereotype annotations.
Java-based Configuration: @Configuration and @Bean.
Durgesh Kumar Tiwari
XML-based Configuration: Basics of configuring beans using XML (less common
in Spring Boot).
Introduction to AOP: Concepts of cross-cutting concerns.
AspectJ Annotations: @Aspect, @Before, @After, @Around.
Pointcuts and Advices: Defining and applying aspects.
How Spring Boot solves problems.
Week 3: Spring Data Access
Introduction to Spring Data JDBC
Working with Spring Data JDBC
Introduction to Spring Data JPA
o Setting Up spring data jpa
o Configurations
o Entity Mapping
One to One
One to many
Many to Many
o Repositories
o JPQL and Native Queries
o Working with parameterize queries.
o Pagination and Sorting
o Criteria API
o Transactions
o Advance Operations like Entity Lifecycle events.
Week 4: Spring MVC/ API Building Section
Introduction to Spring MVC/ MVC Architecture
Role of Dispatcher Servlet
Setting up spring mvc
Controllers
Handling request with
o @Controller, @RestController
o @RequestMapping, @GetMapping, @PostMapping, @PutMapping,
@DeleteMapping
Using @PathVariable and @RequestParam
Returning Data[JSON] and View
Data Binding and Validation
o Validating Data using @Valid and Bean Validator
o How we can use Regular Expression for validation
o Writing Custom Validators
Exception Handling
Durgesh Kumar Tiwari
o Handling controller level exceptions
o Handling Global Exceptions
o Returning Custom Error Response.
Interceptors
File Upload
Project : We learn all above concepts using Project like
o To-do Applications
o Student Management System
o Simple E-Commerce Product CatLog.
Week 5: Spring Security in Detail
Introduction to Security
Authentication & Authorization
Understanding Spring Security Flow using Debugging
Implementing Spring Security @SecurityFilterChain
Formbased and Basic authentication
Managing Users
Token based authentication [JWT authentication]
Implementing in Project
OAuth using Keyclock
Week 6: Microservices
Introduction to Microservices
Understanding Microservices Architecture
Benefits and Challenges
Setting up spring boot microservices
Breaking Existing Project intro microspecies / Creating different micorservcies.
Understanding Spring Cloud Projects
Interservice Communication
o Rest Template
Sync Commutation using RestTemplate
Web Client
Feign Client
Declarative REST client for simplifying HTTP API calls
Service Registration and Discovery
o Eureka Server and Client
o Service Discovery and load balancing with Eureka .
API Gateway
o Setting up spring cloud gateway
o Routing and filtering
Durgesh Kumar Tiwari
o About Zuul
Week 7: Config Servers and Flatulence
Config Server
o Externalizing Configurations of Each Services.
o Managing configuration across environments.
Resilience4j
o Setting up Resilience4j for fault tolerance
o Configuring circuit breakers, retries, and rate limiters
o Hystrix
Week 7: Distributed Tracing and Monitoring
Spring Boot Actuator
o Exposing operational information about the running application
o Customizing Actuator endpoints
Zipkin/Jaeger
o Exposing operational information about the running application
o Customizing Actuator endpoints
Week 8: Message and Event-Driven Architecture
Introduction to Event Driven Architecture
Event Driven Microservices using Apache Kafka
Setting up message brokers (RabbitMQ, Kafka)
Implementing Event Driven Microspecies in Project.
Week 9: Securing Microservices
OAuth2 for securing microservices
Securing inter-service communication using Spring Cloud Security.
Week 10: Deployment and Containerization
Docker
o Containerizing Spring Boot applications
o Creating Docker images and containers
o Docker Compose
o Pushing to Docker hub
Week 11: Kubernetes
Kubernetes
o Introduction to Kubernetes & Core Concepts
o Managing Applications with Deployments & Services
o Configuration Management with ConfigMaps and Secrets
o Scaling & Autoscaling in Kubernetes
Durgesh Kumar Tiwari
Week 12: CI/CD for Microservices
o Understanding Continuous Integration, Continuous Delivery, and Continuous
Deployment.
o Setting up a Git repository for Spring Boot microservices project.
o Continuous Integration (CI) Pipeline with Jenkins
o Configuring Jenkins pipeline for code builds, automated testing, and static code
analysis.
o Containerization and Continuous Delivery (CD)
o Deployment Automation with Kubernetes
Project:
While learning the concepts we will creates projects
Mini projects
o Simple Inventory Management System
o User Management System
o Store Management.
Major Project(RailEase – Seamless Train Booking & Travel Management)
We will create an IRCTC Clone in this batch, which includes:
o User Authentication & Profiles
o Train Search & Booking System
o Seat Selection & Booking
o Payment Integration
o E-Ticket Generation & Booking History
o Cancellation & Refund Management
o Admin Panel(APIs) for Train & Ticket Management
o Microservices-Based Scalable Architecture
🔹 Final Deployment: The project will be containerized & deployed using Docker &
Kubernetes, ensuring scalability & reliability.