Certified T.F Java Developer

Requirements

Outline

Spring Boot & Micro Services Modules

Module 1: Spring Boot Framework Internals

Module 2: Spring Boot Data JPA

Module 3: Spring MVC

Module 4: Restful Web services

Module 5: Micro services with Spring Cloud

Module 6: Docker & Docker-compose (Containerization Deployment)

Module 7: Monitoring micro services Metrics & Health (Prometheus & Grafana)

Module 8: Kubernetes Deployment in Google Cloud Platform

Module 9: 200 + Interview Guide

Module 1: Spring Boot Framework Internals

Module 2: Spring Boot Data JPA

Module 3: Spring MVC

Module 4: Restful Web services

Module 5: Micro services with Spring Cloud

Module 6: Docker & Docker-compose (Containerization Deployment)

Module 7: Monitoring micro services Metrics & Health (Prometheus & Grafana)

Module 8: Kubernetes Deployment in Google Cloud Platform

Module 9: 200 + Interview Guide

Module 1: Spring Boot Framework Internals

Module 2: Spring Boot Data JPA

Module 3: Spring MVC

Module 4: Restful Web services

Module 5: Micro services with Spring Cloud

Module 6: Docker & Docker-compose (Containerization Deployment)

Module 7: Monitoring micro services Metrics & Health (Prometheus & Grafana)

Module 8: Kubernetes Deployment in Google Cloud Platform

Module 9: 200 + Interview Guide

Application Types

Standalone Application

Web Application

Distributed Application

Spring V/s Spring Boot

Spring Boot Features

Environment setup

Parent Project in Boot

Boot Dependencies/Starters

@SpringBootApplication Annotation

Spring Boot Bootstrapping process(run() internal logic)

Component Scanning

Spring Bean(Eager Loading V/s Lazy Loading)

Spring Bean Eager 2 Lazy conversion

Spring Boot Bean Lifecycle methods

By using interface methods

By using annotations

Spring Bean Scopes

Singleton

Prototype

Request

session

Auto Configuration

Embedded Servers

Tomcat

Jetty

Undertow

Stereo type annotations

@Component

@Controller

@RestController

@Service

@Repository

Dependency Injection

Setter Injection

Constructor Injection

Field Level Injection

Setter Injection V/s Constructor Injection

Spring Boot jar generation & execution

IOC Containers, Auto wiring modes & Qualifier

Banners in Spring Boot

Runners in Spring Boot

Application Runners

Command Line Runners

Logging Framework

Reading keys from .properties/yml

@PropertySource with @ConfigurationProperties

@PropertySource with @Value

Singleton scope V/s Singleton Design Pattern

Annotations

@Configuration

@Bean

@Autowired

@Qualifier

@ConfigurationProperties

@PropertySource

@Value

@Order

@Lazy

@Primary

@SpringBootApplication

@Lookup

@Import

Module 2: Spring Data JPA

What is Persistence Layer?

What is Spring Data?

ORM Basics

JPA Annotations

CRUD Repository & JPA Repository

Pre-defined Repository Methods

@Query Annotation

Native SQL Queries using @Query

HQL Queries using @Query

Positional& Named Parameters

Find By Methods in Spring Data JPA

Design Custom methods using @Query

Pagination using JPA

Sorting using JPA

Generators

Schema Generation Create/update /validate create-drop

What is Web Application?

MVC Architecture?

Front Controller Design Pattern

Spring MVC Components

Dispatcher Servlet

Handler Mapping

View Resolver

Model and View

@ModelAttribute

@Controller Annotation

Send Data Controller to UI

Send Data UI to Controller

Embedded Containers

Embedded Database (H2)

Read Properties from property files

properties V/s application.yml

Introduction to Web Services

Soap vs Rest

Query String vs PathParams

REST Architecture Principles

Rest Resource & Rest Client

HTTP Methods,Http Status codes & Messages

CRUD operation using Rest API

Exception Handling in Spring Boot

@RestController V/s @Controller

Swagger Documentation

Rest Template Communication

OAuth2 Implementation

@RequestBody V/s @ResponseBody

@RequestParam V/s @PathVariable

Monolithic vs Micro Services

Micro Services principles

Micro Services challenges

Micro Services advantages & Micro Services architecture

Twelve Factor Principles

Service Registry & Discovery(Eureka Server)

Services Design using Rest API

Services communication using Rest Template

Services communication using Feign Client

API Gateway(ZuulProxy) creation for Micro Services

Ribbon Load Balancer.

Distributed Tracing using zapping & sleuth

Fault Tolerance using Circuit Breaker

Spring Boot actuators & DevTools

Admin Server & Admin Client

Apache Kafka integration with Micro Services

Centralized Configuration

Spring Boot Config Server & spring Boot config Client

Spring Boot Profiles

Introduction to Dockers

Docker Architecture

Understanding Docker Hub & Installing Docker

Creating Docker Images using Docker File

Deep Dive of Important Docker Commands

Publishing Docker images from your local to remote Docker hub Repository

Deep dive on Docker-compose

Micro services deployment using Docker-Compose

Introduction to Kubernetes

Deep dive of Kubernetes Internal Architecture

GCP Account Setup & Creating K8s Cluster

Exploring K8s cluster & Establish connection

Deep dive on Kubernetes YAML Configuration

Kubernetes YAML Configurations for applicable Micro services

Create Environment Variables inside K8s Cluster using ConfigMap

Deploying our Micro services to Kubernetes Cluster

Kubectl Commands and validating our micro services deployed into K8s cluster

Automatic Self-healing inside Kubernetes Cluster

Automatic Rollout & Roll back inside Kubernetes Cluster

Logging & Monitoring inside Kubernetes Cluster

Auto scaling inside Kubernetes cluster using HPA

Deleting Kubernetes Cluster inside GCP

Different approaches to monitor micro services

Setup Micrometer inside micro services

Setup of Prometheus to monitor micro services

Setup of Grafana to monitor micro services with inbuilt dashboards

Building Custom Dashboards inside Grafana

Sending alerts using Grafana when service is down

GitHub

Maven

Jenkins

Docker

Kubernetes

SonarQube/PMD

This Course Include