Building Microservices with Spring Boot and Spring Cloud

Learn Building Microservices using Spring Boot 3, Spring Cloud, React, Kafka, RabbitMQ, REST API, and Docker
Building Microservices with Spring Boot and Spring Cloud
File Size :
10.32 GB
Total length :
18h 27m

Category

Instructor

Ramesh Fadatare (Java Guides)

Language

Last update

Last updated 1/2023

Ratings

4.7/5

Building Microservices with Spring Boot and Spring Cloud

What you’ll learn

Build REST API’s using Spring Boot – Important Spring MVC Annotations
Build CRUD REST API’s using Spring Boot, Spring Data JPA and MySQL Database
Building Spring Boot Microservices in IntelliJ IDEA
Microservices Communication using RestTemplate, WebClient and Cloud OpenFeign
Centralized Configurations using Spring Cloud Config Server
Create Service Registry and Discovery using Spring Cloud Netflix Eureka
Create API Gateway using Spring Cloud Gateway
Load balancing with Eureka server and Open Feign using Spring Cloud LoadBalancer
Auto Refresh Config Changes using Spring Cloud Bus
Distributed Tracing with Spring Cloud Sleuth and Zipkin
Resilience4J: Circuit Breaker, Retry and RateLimiter Patterns
How to Add Step by Step New Microservice to Existing Project
Create React Frontend Microservice and Integrate with Backend Microservices
Event-Driven Microservices using Spring boot and Kafka
Event-Driven Microservices using Spring boot and RabbitMQ
Dockering Spring Boot Application Step by Step
Dockering Spring Boot MySQL CRUD Application Step by Step
Docker Compose for Dockering Spring Boot Application Step by Step

Building Microservices with Spring Boot and Spring Cloud

Requirements

Java
Spring Boot Basics
Familiar with IntelliJ IDEA
No Microservices experience needed. You will learn everything you need to know about Microservices
No docker experience needed. You will learn Docker essentials for deployment

Description

In this course, you will learn to build Microservices using Spring Boot, Spring Cloud, React, Kafka, RabbitMQ, Docker, and REST API (REST Web Services).Important Note: This course supports the latest Spring Boot 3 and Spring Cloud 2022.0.0.Microservices:A Microservice is a service built around a specific business capability that can be independently deployed. So, to build large enterprise applications we can identify the sub-domains of our main business domain and build each sub-domain as a MicroService using Domain Driven Design (DDD) techniques. But in the end, we need to make all these microservices work together to serve the end user as if it is a single application.Why Spring boot and Spring cloud are good choices for MicroServices?Spring Boot is the most popular and widely used Java framework for building Microservices. These days many organizations prefer to deploy their applications in a Cloud environment instead of taking all the headaches of maintaining a data center themselves. But we need to take good care of the various aspects to make our applications Cloud Native. There comes the beauty of Spring Cloud.Spring Cloud is essentially an implementation of various design patterns to be followed while building Cloud Native applications. Instead of reinventing the wheel, we can simply take advantage of various Spring Cloud modules and focus on our main business problem than worrying about infrastructural concerns.What you’ll learnBuild RESTful web services using Spring Boot – Learn Important Spring MVC AnnotationsBuild CRUD REST APIs using Spring Boot, Spring Data JPA, and MySQL DatabaseBuilding Spring Boot Microservices in IntelliJ IDEAMicroservices Communication using RestTemplate, WebClient, and Spring Cloud OpenFeignCreate Service Registry and Discovery using Spring Cloud Netflix EurekaLoad balancing with Eureka server and Open Feign using Spring Cloud LoadBalancerCreate API Gateway using Spring Cloud GatewayCentralized Configurations using Spring Cloud Config ServerAuto Refresh Config Changes using Spring Cloud BusDistributed Tracing with Spring Cloud Sleuth and ZipkinResilience4J: Circuit Breaker, Retry, and RateLimiter PatternsAdding Step-by-step new Microservice to Existing ProjectDockering Spring Boot Application Step by StepDockering Spring Boot MySQL CRUD Application Step by StepDocker Compose for Dockering Spring Boot MySQL CRUD Application Step by StepCreate React Frontend Microservice and Integrate with Backend MicroservicesEvent-Driven Microservices using Spring boot and KafkaTools and technologies used:1. Java 17+2. Spring boot3. Spring Cloud4. Microservices5. React6. Resilience4J framework7. Maven8. IntelliJ IDEA9. MySQL database10. Postman 11. Kafka12. RabbitMQ13. DockerSample amazing feedback from students on this course:Francis Dahryl N:” One of the best learning videos. Ramesh, the instructor, will guide every student until the end.”Juan Paulo L:”Amazing course, well structured, well documented, resourceful, if you really want to learn about microservices, spring boot and spring cloud you have to take this course now!”Tirtha S:”One of the best course for Microservices. Extraordinary explanations to the point. Thank you for providing us such a great course and helping us to gather the knowledge which we are required to know about microservices architecture. You are the best and Thank you once again.”Lakshman M:”I always admire you sir. You are an Inspiration & Guide to many Java Developers. Keep Doing More Udemy Courses Sir. Thank you”Furkan P:”This course teaches everything you need to start with microservices. You need a Java/Spring Boot background to follow up well! Great one!”Harsh S:”it is very good course if you want to get your hand dirty in the spring boot microservices”Check out all the reviews/ratings for this course in the Reviews section.

Overview

Section 1: Introduction

Lecture 1 Course Introduction

Lecture 2 What are Microservices Really All About?

Lecture 3 Best Way to Take this Course and How to Get Help

Lecture 4 Download Source Code and Lecture Notes in PDF

Section 2: Spring Boot REST API Development Basics

Lecture 5 Section Overview

Lecture 6 Create and Set up Spring Boot Project in IntelliJ IDEA

Lecture 7 Create Simple Spring Boot REST API – @GetMapping

Lecture 8 Spring Boot REST API returns Java Bean

Lecture 9 Create Spring Boot REST API returns List

Lecture 10 Spring Boot REST API with Path Variable – @PathVariable

Lecture 11 Spring Boot REST API with Request Param – @RequestParam

Lecture 12 Spring Boot POST REST API – @PostMapping and @RequestBody

Lecture 13 Spring Boot PUT REST API – @PutMapping and @RequestBody

Lecture 14 Spring Boot DELETE REST API – @DeleteMapping

Lecture 15 Using Spring ResponseEntity to Manipulate the HTTP Response

Lecture 16 Define Base URL for REST API’s in Spring MVC Controller – @RequestMapping

Lecture 17 Download Source Code of this Section

Section 3: Building CRUD REST API’s with MySQL Database

Lecture 18 Section Introduction

Lecture 19 Create and Setup Spring Boot Project in IntelliJ

Lecture 20 Configure MySQL Database in Spring Boot App

Lecture 21 Create User JPA Entity

Lecture 22 Create Spring Data JPA Repository – UserRepository

Lecture 23 Build Create User REST API

Lecture 24 Build Get User By ID REST API

Lecture 25 Build Get All Users REST API

Lecture 26 Build Update User REST API

Lecture 27 Build Delete User REST API

Lecture 28 Download Source Code of this Section

Section 4: Using DTO (Data Transfer Object) Pattern

Lecture 29 Understanding DTO Pattern

Lecture 30 How to Use DTO in Spring Boot Application

Lecture 31 Refactor Create User REST API to use DTO

Lecture 32 Create and Use UserMapper Class

Lecture 33 Refactor Get User By Id REST API to use DTO

Lecture 34 Refactor Get All Users REST API to use DTO

Lecture 35 Refactor Update User REST API to use DTO

Lecture 36 Download Source Code of this Section

Section 5: Using Mapping Libraries to Map Entity to DTO and Vice Versa

Lecture 37 ModelMapper and MapStruct Libraries Overview

Lecture 38 Using ModelMapper Library to Map Entity to DTO and Vice Versa

Lecture 39 Using MapStruct Library: Step 1 – Add Maven Dependencies

Lecture 40 Using MapStruct Library: Step 2 – Create Mapper

Lecture 41 Using MapStruct Library: Step 3 – Using Mapper and Test CRUD REST API’s

Lecture 42 Download Source Code of this Section

Section 6: Exception Handling in Spring Boot Application

Lecture 43 Spring Boot Default Error Handling Overview

Lecture 44 Spring Boot REST API Exception Handling Overview

Lecture 45 How to Create and Use Custom Exception – ResourceNotFoundException

Lecture 46 Handing Specific Custom Exception – ResourceNotFoundException

Lecture 47 Handing Specific Custom Exception – EmailAlreadyExistsException

Lecture 48 Spring Boot REST API Global Exception Handling

Lecture 49 Download Source Code of this Section

Section 7: Microservices Introduction

Lecture 50 Monolith Architecture and Challenges of Monolith Architecture

Lecture 51 What is Microservices & How It Solves the Challenges of Monolith Architecture

Lecture 52 Microservices Architecture Benefits and Best Practices

Lecture 53 Understanding Spring Cloud and It’s Important Modules

Lecture 54 Microservices Architecture with Spring Boot and Spring Cloud

Lecture 55 Let’s Draw Diagram Microservices Architecture for Our Project

Lecture 56 Microservice Applications and It’s Port Mapping

Lecture 57 This Project Supports Spring Boot 3 and Spring Cloud 2022.0.0 – Latest Versions

Section 8: Building Microservices

Lecture 58 How to Choose the Compatible Versions of Spring Boot and Spring Cloud

Lecture 59 Update on Spring Boot 3 Version

Lecture 60 Create Two Microservices – EmployeeService and DepartmentService

Lecture 61 Import and Setup 2 Microservices in IntelliJ IDEA

Lecture 62 DepartmentService – Configure MySQL Database

Lecture 63 DepartmentService – Create Department JPA Entity and Spring Data JPA Repository

Lecture 64 DepartmentService – Build Save Department REST API

Lecture 65 DepartmentService – Build Get Department REST API

Lecture 66 EmployeeService – Configure MySQL Database

Lecture 67 EmployeeService – Create Employee JPA Entity and Spring Data JPA Repository

Lecture 68 EmployeeService – Build Save Employee REST API

Lecture 69 EmployeeService – Build Get Employee REST API

Lecture 70 Download Source Code of this Section

Section 9: Assignments

Section 10: Microservices Communication

Lecture 71 Microservices Communication Overview

Lecture 72 Microservices Communication using RestTemplate

Lecture 73 Microservices Communication using WebClient

Lecture 74 Microservices Communication using Spring Cloud OpenFeign

Lecture 75 Download Source Code of this Section

Section 11: Service Registry and Discovery using Spring Cloud Netflix Eureka

Lecture 76 Understanding Service Registry

Lecture 77 Create and Setup service-registry Spring boot project in IntelliJ IDEA

Lecture 78 Spring Cloud Netflix Eureka Server Implementation

Lecture 79 Update on Using Spring Boot 3 Version

Lecture 80 Register DepartmentService Microservice as Eureka Client

Lecture 81 Update on using Spring Boot 3 Version

Lecture 82 Register EmployeeService Microservice as Eureka Client

Lecture 83 Running Multiple Instances of DepartmentService

Lecture 84 Load Balancing with Eureka, Open Feign and Spring Cloud LoadBalancer

Lecture 85 Download Source Code of this Section

Section 12: API Gateway using Spring Cloud Gateway

Lecture 86 Understanding API Gateway

Lecture 87 Create and Set up API Gateway Microservice in IntelliJ IDEA

Lecture 88 Update on Using Spring Boot 3 Version

Lecture 89 Register API-Gateway as Eureka Client to Eureka Server

Lecture 90 Configuring API Gateway Routes and Test using Postman Client

Lecture 91 Using Spring Cloud Gateway to Automatically Create Routes

Lecture 92 Download Source Code of this Section

Section 13: Centralized Configurations using Spring Cloud Config Server

Lecture 93 Why Spring Cloud Config Server

Lecture 94 How to Use Spring Cloud Config Server

Lecture 95 Create and Setup Spring Cloud Config Server Project in IntelliJ IDEA

Lecture 96 Update on Using Spring Boot 3 Version

Lecture 97 Register Config-Server as Eureka Client

Lecture 98 Set up Git Location for Config Server

Lecture 99 Refactor Department-Service to use Config Server

Lecture 100 Refactor Employee-Service to use Config Server

Lecture 101 Refresh Use case – No Restart Required After Config Changes

Lecture 102 Download Source Code of this Section

Section 14: Auto Refresh Config Changes using Spring Cloud Bus

Lecture 103 What is Problem using Spring Cloud Config Server

Lecture 104 How Spring Cloud Bus works

Lecture 105 Auto Refresh Config Changes using Spring Cloud Bus

Lecture 106 Download Source Code of this Section

Section 15: Distributed Tracing with Spring Cloud Sleuth and Zipkin

Lecture 107 Warning

Lecture 108 What Problem Distributed Tracing Solves?

Lecture 109 How Distributed Tracing Works

Lecture 110 Distributed Tracing using Spring Cloud Sleuth

Lecture 111 Distributed Tracing with Zipkin

Lecture 112 Download Source Code of this Section

Section 16: Circuit Breaker using Resilience4J Implementation

Lecture 113 Reference Links Used in this Section of the Lectures

Lecture 114 What Problem Circuit Breaker pattern Solves?

Lecture 115 How Circuit Breaker Pattern Works?

Lecture 116 Circuit Breaker Pattern implementation using Resilience4j – Part 1

Lecture 117 Circuit Breaker Pattern implementation using Resilience4j – Part 2

Lecture 118 Circuit Breaker Pattern implementation using Resilience4j – Part 3

Lecture 119 Retry Pattern Implementation using Resilience4j

Lecture 120 Download Source Code of this Section

Section 17: Refactor Code

Lecture 121 Refactor Employee-Service and Department-Service to use Mapper

Section 18: How to Add New Organization Microservice to Existing Project

Lecture 122 Section Overview

Lecture 123 Create Organization Microservice using Spring Boot

Lecture 124 Configure MySQL Database in Organization-Service

Lecture 125 Create Organization JPA Entity and Spring Data JPA Repository

Lecture 126 Create OrganizationDto and OrganizationMapper

Lecture 127 Build Save Organization REST API Build

Lecture 128 Get Organization By Code REST API

Lecture 129 Make REST API Call from Employee-Service to Organization-Service

Lecture 130 Update on Using Spring Boot 3 Version

Lecture 131 Register Organization-Service as Eureka Client

Lecture 132 Refactor Organization-Service to use Config Server

Lecture 133 Configure Spring Cloud Bus and Routes for Organization-Service in API-Gateway

Lecture 134 Implement distributed tracing in Organization-Service

Lecture 135 Download Source Code of this Section

Section 19: Creating React Frontend Microservice

Lecture 136 Section Overview

Lecture 137 Create React App using Create React App Tool

Lecture 138 Adding Bootstrap in React Using NPM

Lecture 139 Write HTTP Client Code to Connect React App with API-Gateway (REST API Call)

Lecture 140 Create a React Component and Integrate with API Gateway Microservice

Lecture 141 Design the Page to Display User, Department and Organization Details

Section 20: Dockering Spring Boot Application Step by Step

Lecture 142 General Docker Workflow

Lecture 143 Create Spring Boot Project and Build Simple REST API

Lecture 144 Create Dockerfile to Build Docker Image

Lecture 145 Build Docker Image from Dockerfile

Lecture 146 Run Docker Image in a Docker Container

Lecture 147 Push Docker Image to DockerHub

Lecture 148 Pulll Docker Image from DockerHub

Lecture 149 Download Source Code of this Section

Section 21: Dockering Spring Boot MySQL CRUD Application Step by Step

Lecture 150 Dockerizing Spring Boot MySQL Application Overview

Lecture 151 Pull and Run MySQL Image in a Docker Container

Lecture 152 Create a Dockerfile to Build the Image

Lecture 153 Implement Profile and Build Docker image

Lecture 154 Run Spring Boot App Docker Image in a Container and Test CRUD REST APIs

Section 22: Docker Compose – Dockering Spring Boot MySQL CRUD Application Step by Step

Lecture 155 Docker Compose Overview

Lecture 156 Configure and Run MySQL Image in a Container using Docker Compose

Lecture 157 Configure and Run Spring Boot in a Container using Docker Compose

Section 23: Event-Driven Microservices using Spring boot and Kafka

Lecture 158 What is Event Driven Architecture?

Lecture 159 How Event Driven Architecture Works and It’s Advantages

Lecture 160 Apache Kafka Core Concepts

Lecture 161 Install and Set up Kafka on Mac

Lecture 162 Install and Set up Kafka on Windows

Lecture 163 Event-Driven Microservices Project Architecture Overview

Lecture 164 Create 4 Microservices – OrderService, StockService, EmailService & Base-Domains

Lecture 165 Import and Setup 4 Microservices in IntelliJ IDEA

Lecture 166 Base-Domains Microservice – Create DTO Classes – Order and OrderEvent

Lecture 167 OrderService Microservice – Configure Kafka Producer

Lecture 168 OrderService Microservice – Configure Kafka Topic

Lecture 169 OrderService Microservice – Create Kafka Producer

Lecture 170 OrderService Microservice – Create REST API to Send Order and Test Kafka Produce

Lecture 171 StockService Microservice – Configure Kafka Consumer

Lecture 172 StockService Microservice – Create Kafka Consumer

Lecture 173 EmailService Microservice – Configure and Create Kafka Consumer

Lecture 174 Run 3 Microservices Together and Have a Demo

Lecture 175 Download Source Code of this Section

Section 24: Event-Driven Microservices using Spring boot and RabbitMQ

Lecture 176 What is RabbitMQ?

Lecture 177 RabbitMQ Core Concepts

Lecture 178 RabbitMQ Architecture

Lecture 179 Install and Setup RabbitMQ using Docker

Lecture 180 Explore RabbitMQ using RabbitMQ Management UI

Lecture 181 Event-Driven Microservices Project Architecture Overview

Lecture 182 Create 3 Microservices – OrderService, StockService and EmailService

Lecture 183 Import and Setup 3 Microservices in IntelliJ IDEA

Lecture 184 OrderService Microservice – Configure RabbitMQ Step By Step

Lecture 185 OrderService Microservice – Create RabbitMQ Producer

Lecture 186 OrderService Microservice – Create REST API to Send Message

Lecture 187 StockService Microservice – Configure RabbitMQ

Lecture 188 StockService Microservice – Create RabbitMQ Consumer

Lecture 189 OrderService Microservice – Configure Email Queue and It’s Binding

Lecture 190 OrderService Microservice – Sending Event to Email Queue

Lecture 191 EmailService Microservice – Configure RabbitMQ and Create RabbitMQ Consumer

Lecture 192 Run 3 Microservices and Have a Demo

Lecture 193 Download Source Code of this Section

This course for Java programmers who want to learn building RESTful Web services and Microservices using Spring Boot, Spring Cloud, Kafka, RabbitMQ and Docker.

Course Information:

Udemy | English | 18h 27m | 10.32 GB
Created by: Ramesh Fadatare (Java Guides)

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top