Uploaded by Subscribed Newsletter

JavaExpress - SpringBoot - Microservices Course Content

advertisement
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express
Updated Course
JAVA FULL STACK DEVELOPER COURSE
Prerequisites for this Course:

Core Java

Java 8 : https://bit.ly/java8videos
Modules:












Module 1 : Introduction to Spring Framework & Spring Boot
Module 2 : Spring Data JPA & Spring Data Rest
Module 3 : Building REST APIs with Spring Boot
Module 4 : Microservices Architecture with Spring Boot
Module 5 : Introduction to Docker
Module 6 : Deploying Microservices with Docker and Kubernetes
Module 7 : Event Driven Microservices (Apache Kafka)
Module 8 : Testing in Spring Boot (Mockito)
Module 9 : Spring Boot Security (OAuth2.0 & JWT)
Module 10 : Spring Boot Integration with Redis
Module 11 : Microservices Design Patterns (CQRS & SAGA)
Module 12 : React JS Integration with Spring Boot
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express
Module 1: Introduction to Spring Boot






Overview of Spring Framework
o Introduction to Spring Ecosystem
o Core Concepts : IOC (Inversion of Control)& DI (Dependency Injection)
What is Spring Boot?
o Introduction to Spring Boot & its key features
o Comparison with traditional Spring framework
o Benefits of using Spring Boot
Setting Up Development Environment
o Installing Java Development Kit (JDK)
o Configuring IDE (Integrated Development Environment) (e.g., IntelliJ
IDEA, STS)
o Understanding Maven build tool
Spring Initializer and Project Creation
o Using Spring Initializer to generate Spring Boot projects
o Adding dependencies and configurations
o Exploring basic project structure
Auto-configuration and Spring Boot Starters
o Understanding auto-configuration and its benefits
o Adding Spring Boot starters for various functionalities
(e.g., Web, JPA, Security)
o Configuration files (application.properties/yaml)
Running your first Spring Boot application
o Creating a simple Spring Boot application
o Running the application and understanding console logs
o Exploring application functionalities
Module 2: Spring Data JPA



Introduction to JPA and Spring Data JPA
o Understanding object-relational mapping (ORM) concept
o Exploring Spring Data JPA features and benefits
Creating and Configuring Entities
o Defining entities representing database tables
o Mapping entity fields to database columns
o Configuring entity relationships (One-to-One, One-to-Many, Many-to-Many)
Implementing CRUD Operations (Create, Read, Update, Delete)
o Using Spring Data JPA repositories to perform CRUD operations
o Understanding @Repository and @Entity annotations
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express




o Building custom queries with methods and JPQL
Querying Data with JPA Repositories
o Implementing various query methods like findBy
o Using JPA Criteria API for complex queries
o Utilizing Pageable interface for data pagination
Advanced Query Techniques with Spring Data JPA
o Exploring native SQL queries
o Implementing custom JPA repositories
Introduction to H2 Database
o Overview of H2
o Connecting to H2 using the H2 Console
Spring Data Mongo DB
o Basics of Mongo DB and NoSQL databases
o Configuring and using Spring Data Mongo DB
o Repository interfaces for Mongo DB
Module 3: Building REST APIs with Spring Boot






Introduction to REST APIs
o Understanding REST principles and architecture
o Designing Restful API contracts
Implementing REST CRUD operations
o Building API endpoints for Create, Read, Update, and Delete operations
o Handling validation and error responses
o Implementing efficient data retrieval
Handling JSON Data with @RequestBody and @ResponseBody annotations
o Processing JSON data sent in request body
o Sending JSON data as response
o Utilizing Jackson library for JSON serialization and deserialization
Integrating with Swagger for API documentation
o Generating API documentation using Swagger
o Understanding Open API specification and its benefits
o Providing clear and detailed API documentation for developers
Exception Handling in Restful Services
o Handling exceptions in Spring Boot
o Custom exception handling for Restful APIs
o Error responses and HTTP status codes
Consumer Development
o What is Spring RestTemplate?
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express


o Creating and configuring a RestTemplate instance
o Sending various HTTP requests (GET, POST, PUT, DELETE)
o Setting request headers and body
o Understanding potential errors and exceptions
Understanding Spring Boot Profiles
o Introduction to Spring Boot profiles
o Configuring profiles in application properties/yaml
o Configuring databases for different environments
o Environment-specific logging and debugging settings
Spring Boot DevTools
o Improving development productivity with DevTools
o Automatic application restarts
Module 4: Microservices Architecture with Spring Boot







Overview of Microservices
o What are microservices?
o Advantages and disadvantages of microservices
o Comparison with monolithic architecture
o Key principles and best practices
Spring Cloud Overview
Building Microservices with Spring Boot (Real Time Project)
o Spring Boot as a framework for microservices development
o Building Restful API
o Implementing data access with Spring Data JPA
Microservices Monitoring with Spring Boot Actuator
o Overview of Spring Boot Actuator
o Exposing and customizing Actuator endpoints
o Monitoring microservices with Actuator
Service Registration and Discovery
o Introduction to service registration and discovery
o Using Spring Cloud Eureka for service registration
o Discovering services with Eureka clients
Microservices Communication Patterns
o Inter-service communication using Feign Client
Spring Cloud Gateway
o Introduction to Spring Cloud Gateway
o API gateway and routing
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express



Load Balancing and Fault Tolerance
o Implementing load balancing with Spring Cloud Ribbon
o Circuit Breaker pattern with Spring Cloud Circuit Breaker
Distributed Tracing with Micrometer Tracing
o Understanding distributed tracing
o Implementing tracing with Micrometer Tracing and Zipkin
o Visualizing trace data for microservices
Centralized Configuration with Spring Cloud Config
o Overview of Spring Cloud Config
o Centralized configuration management
o Integrating Spring Cloud Config with Spring Boot
o Implementing compensating transactions
o Using Sagas for long-running transactions
Module 5: Introduction to Docker




Understanding Containerization
o Overview of containerization
o Comparing containers to virtual machines
o Benefits of using containers in microservices architecture
Introduction to Docker
o Docker Introduction
o Key Docker components: Docker Engine, Docker Hub, Docker CLI
o Environment Setup for Docker
o Docker Commands
o Setting up a public Docker registry
o Pushing and pulling images from a registry
o Running and managing Docker containers
Building Docker Images
o Creating Docker images using Dockerfile
o Creating Docker images using Google Jib
Containerizing Microservices
o Preparing applications for Dockerization
o Dockerizing all microservices
Module 6: Deploying Microservices with Docker and Kubernetes

Overview of Kubernetes
o Introduction to Kubernetes
o Key Kubernetes components: Master and Nodes
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express




o Kubernetes objects: pods, deployments, services, Replication, ConfigMap
Installing and Configuring Kubernetes
o Configuring Kubernetes on cloud providers (GCP)
o Using kubectl for interacting with Kubernetes clusters
Deploying Microservices in Kubernetes
o Deploying microservices as Pods
o Managing microservices with Deployments
Kubernetes Services
o Understanding Kubernetes Services
o Creating and managing Services
o Load balancing and service discovery in Kubernetes
Application Lifecycle Management
o Rolling updates and rollbacks in Kubernetes
Module 7: Event Driven Microservices





Kafka Overview
o Introduction to Apache Kafka and its architecture
o Key use cases for Kafka in real-world applications
Kafka Topics and Partitions
o Definition and purpose of topics
o Creating and managing topics in Kafka
o Understanding partitions in Kafka
o Distributing data across partitions
o Importance of topic replication
Kafka Producers
o Overview of Kafka producers
o Producing messages to Kafka topics
Kafka Consumers
o Overview of Kafka producers
o Listening message from Kafka Topics
Role of Kafka in microservices communication
Module 8: Testing in Spring Boot




Unit testing with Junit and Mockito
Introduction to Mockito framework
Creating and using mock objects
@Mock, @InjectMocks annotations
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express



Testing Spring Boot service components with Mockito
Mocking data access and external dependencies
Understanding and using argument matchers
Module 9: Spring Boot Security



Introduction to Spring Security
Getting Started with Spring Boot Security
o Setting up a basic Spring Boot Security project
o Configuring security dependencies
o Understanding the default security settings
Securing REST APIs with Spring Security
o Protecting REST API endpoints from unauthorized access
o Understanding OAuth2 integration for social login
Introduction to JWT (JSON Web Tokens)

o Overview of JWT and its structure
o Configuring Spring Boot Security for JWT
o Generating and validating JWT tokens
o Integrating JWT with Spring Boot Security
Microservices Security Using Keycloak in API Gateway

Module 10: Introduction to Caching in Spring Boot
 Overview of Caching in Spring Boot
o Importance of caching in application performance
o Introduction to Spring Boot caching support
 Spring Boot Caching Annotations
o @Cacheable, @CachePut, and @CacheEvict annotations
o Configuring caching in Spring Boot applications
 Integrating Redis caching in Spring Boot Application
o Setting up a local Redis instance
o Including Redis dependencies in a Spring Boot project
o Configuring Redis connection properties
Module 11: Microservices Design Patterns (Real World Example Ecommerce)


Understanding CQRS
o Command and Query Responsibility Segregation explained
o Benefits of adopting CQRS in microservices
Command Handling in CQRS
www.youtube.com/c/javaexpress
javaexpresschannel@gmail.com
+91 7801007910
Java Express




o Designing and processing commands
o Command validation and error handling
o Asynchronous command processing
Query Handling in CQRS
Event Sourcing in CQRS
o Introduction to Event Sourcing
o Axon Server for Event Sourcing
Implementing Sagas in Microservices
o Introducing the Saga pattern
o Characteristics and principles of Sagas
o Saga Orchestration
o Implementing Sagas with orchestration services
o Coordinating Sagas through a centralized orchestrator
o Managing distributed transactions with orchestration
Compensation in Sagas
o Understanding compensation actions
o Handling failures and rollbacks in Sagas
Module 12: React JS Integration with Spring Boot
 Introduction to React JS
 React Hooks ( state & props)
 Axios Library ( REST Calls)
 Browser Router
 Enable CORS in Spring Boot Application
 How to call GET API from React JS to Spring Boot Application
 Big Basket Application Explanation (code walk through)
o Javascript
o Bootstrap
o Monogodb
o springboot
Download