Spring Microservices by Srinivas Dande
Prerequisites: Timings: 7.30A.M to 9.30A.M (Mon - Fri)
Java8 Course Duraion: 3 Months (120 Hours)
Spring Framework Course Price: Rs. 20, 000
Hibernate Framework Trainer: Srinivas Dande
Maven
MySQL
Spring Microservices Course has three Sub Course
1) Spring Boot Course
2) MicroServices with Spring Boot and Spring Cloud Course
3) Spring Security and Spring OAuth2 Security Course
1) Spring Boot Course Duration: 40 Hours
2) MicroServices with Spring Boot Duration: 50 Hours
and Spring Cloud Course
3) Spring Security and Spring Duration: 30 Hours
OAuth2 Security Course
Java Learning Center 1 Spring MicroServices
1) Spring Boot Course Duration: 40 Hours
Module 1 : Spring Data Access with Boot - Part 1
Objectives:
In this Module, You will learn Data Access with Spring Boot Applications with JDBC , Data
Sources and Various Spring Boot features.
Topics:
Spring -JDBC Flow
Developing Spring -JDBC Lab
Understanding the Problems with this Lab.
First Spring Boot Example
Spring Boot Features.
Starters
Auto Configurations
Exploring Starters
Exploring Auto Configurations
Exploring YAML Files
Using Hikari DataSource
Using Tomcat DataSource
Using DBCP2
Using DBCP
Using JdbcTemplate
Using NamedParameterJdbcTemplate
Using Logging with Boot
Understanding Spring Boot Start-Up Tasks
Exploring CommandLineRunner
Exploring @SpringBootApplication
Exploring @ComponentScan
Module 2 : Spring Data Access with Boot - Part 2
Objectives:
In this Module, You will learn Data Access with Spring Boot Apps with Hibernate, JPA
Topics:
Spring Boot with Hibernate
Spring Boot with JPA
Spring Boot with Transactions
Java Learning Center 2 Spring MicroServices
Module 3 : Spring Data Access with Boot - Part 3
Objectives:
In this Module, You will learn Data Access with Spring Boot Applications with Spring Data
JPA , Spring Data Mongo
Topics:
Spring Data JPA
Spring Data Mongo
Spring Boot with Data JPA
Exploring CurdRepository
CurdRepositoryMethods
Exploring JpaRepository
JpaRepository Methods
Exploring MongoRepository
MongoRepository Methods
Writing Methods using DSL
Using @Query with JPA-QL
Using @Query with Native Queries
Module 4: Spring MVC with Boot
Objectives:
In this Module, You will learn how to develop Spring Boot Applications with Spring MVC
Topics:
Spring MVC Flow
Developing Spring MVC Application with Spring Boot
Creating WAR and Deploying to External Server
Creating FAT JAR and Running with Embedded Container.
Using BootStrap
Using ThymeLeaf
Running FAT Jar from Command Line
Spring MVC -Boot -JPA CRUD Operations
Java Learning Center 3 Spring MicroServices
Module 5 : Spring REST with Boot
Objectives:
In this Module, You will learn Developing, Documenting and Testing REST API and Spring
Boot and Swagger
Topics:
Introduction to REST Web Services
Understanding HttpRequest
Request Headers
Request Body
Understanding HttpResponse
Response Headers
Response Body
REST Flow with Diagram
Controller Vs RestController
@RequestBody Vs @ResponseBody
@RequestBody Vs @PathVariable
Developing REST Lab with Boot
Understanding URL's
Writing @GetMapping
Writing @RequestMapping
Controller Vs RestController
@RequestBody Vs @ResponseBody
@RequestBody Vs @PathVariable
Developing Spring REST and Data JPA Lab with Boot
Writing @GetMapping
Writing @PostMapping
Writing @PutMapping
Writing @DeleteMapping
Using @RequestBody and @PathVariable
Using RestTemplate
Using ResponseEntity
Handling Exceptions
Handling Exceptions Locally in Controller
Using ResponseStatusException
Handling Exceptions Globally in Centralized Place
Writing Custom Messages
Using ResponseEntity
Working with Swagger
Documenting REST API with Swagger
Testing REST API with Swagger
Java Learning Center 4 Spring MicroServices
Module 6 : Actuators and Boot Admin
Objectives:
In this Module, You will learn Boot features Actuators , Boot Admin Client and Server
Topics:
Understanding Importance of Actuators
Enabling Actuators in Spring Boot Application
Understanding Actuators Endpoints
Enabling and Disabling Actuators Endpoints
Customizing Info Endpoint
Customizing Logging Endpoint
Customizing Metrics Endpoint
Customizing Health Endpoint
Writing Custom HealthIndicators
Understanding Importance of Boot Admin Client and Server
Setting Up Boot Admin Server
Enabling Boot Admin Client in Application
Monitoring Operatonal Info at Boot Admin Server Console
Module 7 : Async Communication with RabbitMQ
Objectives:
In this Module, You will learn Async Communication with Rabbit MQ.
Topics:
Understanding Synchronous Communication
Understanding Asynchronous Communication
Importance of Message Broker in Distributed Systems
HTTP Vs AMQP
Installing Erlang
Installing RabbitMQ
Checking RabbitMQ Management Console
Developing RabbitMQ Application with Spring Boot.
Developing Message Senders
Using RabbitTemplate class
Developing Message Listeners
Using @RabbitListener
Execution Flow of RabbitMQ Example
Java Learning Center 5 Spring MicroServices
Module 8 : Async Communication with Kafka
Objectives:
In this Module, You will learn about Async Communication with Kafka.
Topics:
Understanding Synchronous Communication
Understanding Asynchronous Communication
Installing Kafka and ZooKeeper
Understanding Kafka and ZooKeeper
Using Kafka in Spring Boot Application.
Developing Message Senders
Using KafkaTemplate class
Developing Message Listeners
Using @KafkaListener
Execution Flow of Kafka Example
Module 9 : Unit Testing Spring Boot Applications
Objectives:
In this Module, You will learn about Unit Testing Spring Boot Applications.
Topics:
Create a Spring Boot App for Testing
Writing Unit Tests
Writing Integration Tests
Java Learning Center 6 Spring MicroServices
2) MicroServices with Spring Boot and Duration: 50 Hours
Spring Cloud Course
Module 1: Introduction to MicroServices
Objectives:
In this Module, You will learn about Monolithic Applications vs MicroServices, BookStore
Case Study
Topics:
Monolithic Architecture
Benefits of Monolithic Architecture:
Challenges with Monolithic Applications:
What are MicroServices?
MicroServices benefits
Challenges with MicroService Architecture
Number Of Endpoints for a MicroService
Communication styles
Synchronous Communication
ASynchronous Communication
MicroServices early adopters
Case Study : JLCBookStore
Understanding JLCBookStore Use-cases.
Designing Various MicroServices for JLCBookStore
a. BookPriceMS
b. BookSearchMS
c. PlaceOrderMS
d. UserRatingMS
e. BookStoreWeb
Communication among MicroServices of JLCBookStore
Module 2 : Developing BookStore MS ehco system
Objectives:
In this Module, You will develop the 5 MicroServices designed from BookStore CaseStudy
with Spring MVC, Spring REST , Spring Data JPA , Swagger
Topics:
Developing BookPriceMS
Step By Step Instructions to Develop BookPriceMS
Java Learning Center 7 Spring MicroServices
Write Code for BookPriceMS
Using Swagger with BookPriceMS
Testing with Swagger
Developing BookSearchMS
Step By Step Instructions to Develop BookSearchMS
Write Code for BookSearchMS
Using Swagger with BookSearchMS
Testing with Swagger
Developing PlaceOrderMS
Step By Step Instructions to Develop PlaceOrderMS
Write Code for PlaceOrderMS
Using Swagger with PlaceOrderMS
Testing with Swagger
Developing UserRatingMS
Step By Step Instructions to Develop UserRatingMS
Write Code for UserRatingMS
Using Swagger with UserRatingMS
Testing with Swagger
Developing BookStoreWeb
Step By Step Instructions to Develop BookStoreWeb
Write Code for BookStoreWeb
Module 3 : RabbitMQ , Feign with BookStore
Objectives:
In this Module, You will update the 5 MicroServices developed with RabbitMQ, Feign.
Topics:
Understanding Async Use Cases in BookStore
Step By Step Instructions to Use RabbitMQ
Using Rabbit MQ with BookSearchMS
Using Rabbit MQ with PlaceOrderMS
Using Rabbit MQ with UserRatingMS
Using Rabbit MQ with BookStoreWeb
Understanding REST Use Cases in BookStore
Understanding Feign
Understanding Eureka
Replacing RestTemplate Calls with Feign
Step By Step Instructions to Use Feign
Using Feign with BookSearchMS
Using Feign with BookStoreWeb
Java Learning Center 8 Spring MicroServices
Module 4 : Actuators , Boot Admin and Eureka with BookStore
Objectives:
In this Module, You will update the 5 MicroServices developed with Actuators , Boot
Admin and Eureka
Topics:
BookStore with Actuators
Step By Step Instructions to Use Actuators
Using Actuators with BookPriceMS
Using Actuators with BookSearchMS
Using Actuators with PlaceOrderMS
Using Actuators with UserRatingMS
Using Actuators with BookStoreWeb
BookStore with Boot Admin
Step By Step Instructions to Setup Boot Admin Server
Using Boot Admin Client with BookPriceMS
Using Boot Admin Client with BookSearchMS
Using Boot Admin Client with PlaceOrderMS
Using Boot Admin Client with UserRatingMS
Using Boot Admin Client with BookStoreWeb
BookStore with Eureka
Step By Step Instructions to Setup Eureka Server
Using Eureka Client with BookPriceMS
Using Eureka Client with BookSearchMS
Using Eureka Client with PlaceOrderMS
Using Eureka Client with UserRatingMS
Using Eureka Client with BookStoreWeb
Module 5 : ,Ribbon and Spring Cloud Load Balancer with BookStore
Objectives:
In this Module, You will update the 5 MicroServices developed with Ribbon or Spring
Cloud Load Balancer
Topics:
Exploring Feign, Eureka ,Ribbon and Spring Cloud Load Balancer
Ways to Invoke one MS from other MS
Using RestTemplate
Using Feign
Using Discovery Client
Java Learning Center 9 Spring MicroServices
Using Ribbon backed RestTemplate
Using LoadBalancerClient
Module 6 : Hystrix, ELK Stack & Zuul with BookStore
Objectives:
In this Module, You will learn Hystrix, ELK Stack & Zuul nad update the 5 MicroServices
developed with them
Topics:
Exploring Hystrix
Using Hystrix with BookStore MicroServices
Exploring ELK Stack
Using ELK Stack with BookStore MicroServices
Exploring Zuul
Using Zuul with BookStore MicroServices
Module 7: Cloud Config Client & Server and Cloud Bus with BookStore
Objectives:
In this Module, You will learn Cloud Config Client & Server and Cloud Bus and update the
BookStore MicroServices echo system with them.
Topics:
How to Configure Application Configuration Data
Centralizing Application Configuration Data
Introduction to Spring Cloud Config Server
Using GIT with Spring Cloud Config Server
Setup the Initial Project
Setup GIT Repository
Create the Property Files in GIT Repository
Setup Config Server
Setup Config Client with BookSearchMS
Setup Config Client with BookStoreWeb
Scaling the BookSearchMS to 3 Instances
Change the Configuration Properties
Using refresh end-point of actuator
Understanding Cloud Bus
Setup Cloud Bus
Cloud Bus - Flow with Diagram
Understanding Multiple Project Environments
Java Learning Center 10 Spring MicroServices
Development Environment
QA Environment
Staging Environment
Production Environment
Creating Different Property files for Different Environments
Creating Different Profiles for Different Environments
Enabling Required Profile
[Link]=dev
Module 8 : Kafka with BookStore
Objectives:
In this Module, You will update the 5 MicroServices developed with Kafka by replaing
Rabbit MQ
Topics:
Understanding Async Use Cases in BookStore
Step By Step Instructions to Use Kafka
Using Kafka with BookSearchMS
Using Kafka with PlaceOrderMS
Using Kafka with UserRatingMS
Using Kafka with BookStoreWeb
Java Learning Center 11 Spring MicroServices
3) Spring Security and Spring OAuth2 Duration: 30 Hours
Security Course
Module 1 : Spring Security with Boot
Objectives:
In this Module, You will learn applying Authetication and Authorization for Sprig Boot
Applications with Spring Secuirty Framework.
Topics:
Configuring Default Spring Security
Exploing Security Filters and Filter Chains
Security Processing Flow
Configuring Authentication Managers
In-memory Authentication Manager
JDBC Authentication Manager
LDAP Authentication Manager
Configuring HttpSecurity for Authorization
Denying all the requests
Permit all the requests
Permit for specific requests
Customizing Login page
Customizing Logout page
User Registration
Password Encoders
Displaying Links as Per the Roles
Exploring CORS and CSRF
Exploring JWT
Module 2: Spring OAuth2 Security
Objectives:
In this Module, You will learn about Spring OAuth2 Security with All Grant Types and
Writing OAuth2 Clients.
Topics:
Understanding OAuth2 Framework
Understanding how OAuth2 allows applications to obtain limited access to resources
Main components of the OAuth 2.0 specification
Java Learning Center 12 Spring MicroServices
Understanding Resource Owner
Understanding Client Application
Understanding Authorization Server
Understanding Resource Server
Exploring OAuth2 endpoints
OAuth2 Grant Types
Exploring Authorization Code Grant Type
Exploring Implicit Grant Type
Exploring Resource owner password credentials Grant Type
Exploring Client credentials Grant Type
Refresh Token Grant Type
Choosing Required Grant Type
OAuth2 Client Applications
OAuth2 Client for Authorization Code Grant Type
OAuth2 Client for RO Password Grant Type
OAuth2 Client for Implicit Grant Type
OAuth2 Client for Client Credentials Grant Type
Token based Authetication with JWT
OAuth2 Complete Example
Module 3: MicroServices Security with OAuth2
Objectives:
In this Module, You will learn Applying Secuirty and OAuth2 Secuirty to BookStore
MicroService Eco System.
Topics:
Applying Spring Secuirty and OAuth2 Secuirty for following microservices of BookStore
Echo System.
a. BookStoreWeb
b. BookSearchMS
c. BookPriceMS
d. PlaceOrderMS
e. UserRatingMS
Java Learning Center 13 Spring MicroServices