1) What is Spring Framework
2) What is Spring Boot
3) Differences between Spring & Spring Boot
4) Spring Boot Overview
5) Pros & Cons of Spring Boot
6) Approaches to create Spring Boot Application
- a) Spring Initializer (start.spring.io)
- b) Spring Starter Wizard in STS IDE
7) Introduction to Spring Boot Starters
- a) Spring Boot Parent Starter
- b) Spring-boot-starter
- c) Spring-boot-starter-web
- d) Spring-boot-starter-webflux
- e) Spring-boot-starter-data-jpa
- f) Spring-boot-devtools
- g) Spring-boot-starter-mail
- h) Spring-boot-actuator
- i) Spring-boot-starter-test etc.
8) What is Start Class in Spring Boot
9) @SpringBootApplication annotation internals
10) SpringApplication.run(..) method internals 11) Spring Boot Application Boot strapping
12) AutoConfiguration in Spring Boot
13) IOC container
14) Dependency Injection
- a) Setter Injection
- b) Constructor Injection
- c) Field Injection
15) Stereotype Annotations
- a) @Component
- b) @Service
- c) @Repository
- d) @Controller
16) Base Package Naming convention
17) Component Scanning
18) Auto wiring
- a) byType
- b) byname
- c) constructor
- d) none
19) @Qualifier annotation
20) @Primary annotation
21) Introduction to @Configuration annotation
22) Details of @Bean annotation
23) Bean Life Cycle
24) Bean Scopes
25) Banner in Spring Boot
26) Standalone application development in Spring Boot
27) Standalone application with layered architecture
28) Runner in Spring Boot
- a) Application Runner
- b) Command Line Runner
1) What is Persistence Layer?
2) Best practices to follow in persistence layer
3) ORM Basics
4) Spring Data JPA Introduction
5) Differences between Spring ORM and Spring Data
6) CurdRepository introduction
7) CurdRepository methods for DB operations
- a) save( ) method
- b) saveAll( ) method
- c) findById( ) method
- d) findAllById( ) method
- e) findAll( ) method
- f) deleteById( ) method
- g) deleteAllById( ) method
- h) delete( ) method i) count( )
- j) existsById( )
8) Custom findByXXX method syntax
9) Custom Queries Execution in Data JPA
10) JpaRepository introduction
11) JpaRepository methods for DB operations
12) Pagination Using Data JPA methods
13) Sorting Using Data JPA Methods
14) Query By Example Executor
15) Generators
16) Custom Generators in Spring Data
17) Embedded Database Introduction
18) Application Development using Embedded Database (H2)
19) Application Development Using MYSQL Database
20) Profiles in Spring Boot
21) Spring Web MVC Introduction
22) Spring Web MVC Advantages
23) Spring MVC Architecture
24) Introduction to Front Controller
25) Controllers
26) Handler Mappers
27) View Resolvers
28) Web Application development using Spring Boot
29) Embedded HTTP Servers Introduction
- a) Embedded Tomcat Server
- b) Embedded Jetty Server
30) Making Jetty as Default server
31) Web Application Deployment in External Server
32) Sending Data From UI to Controller
- a) Query Param
- b) Path Param
33) Sending Data From Controller to UI
- a) Model b) ModelAndView
34) @RequestBody annotation
35) @ResponseBody annotation
36) Form Based application development using Spring Boot
37) Thymeleaf Introduction
38) Web Application with Thymeleaf
39) Sending Email using Spring Boot
40) Exception Handling in Spring Boot Web Application
41) Spring Boot Actuators
- a) Health
- b) Info
- c) Heap dump
- d) Thead dump
- e) Beans
- f) Httptrace
- g) Mappings
- h) Shutdown
42) Distributed Applications
43) Distributed Technologies
44) SOAP vs REST
45) RESTful Services Introduction
46) REST principles
47) One Time operations
48) Run Time Operations
- a) Marshalling
- b) Un Marshalling
49) JAX-B Introduction
50) JAX-B Architecture
51) Applications development with JAX-B 52) JSON Introduction
53) XML vs JSON
54) JACKSON API
55) Converting Java object to JSON and vice versa using Jackson API
56) GSON API
57) Converting Java Object to JSON and Vice Versa using GSON API
58) HTTP Protocol Details
59) HTTP Methods
- a) GET
- b) POST
- c) PUT
- d) DELETE
60) HTTP Status Codes
61) @RestController
62) @RequestBody
63) @ResponseBody
64) @RequestParam
65) @PathVariable
66) MediaTypes
67) Consumes
68) Produces
69) Accept Header
70) Content-Type header
71) REST API Development using Spring Boot
72) POSTMAN
73) SWAGGER & SWAGGER UI
74) Exception Handling in REST API
75) REST Security
- a) HTTP Basic Auth
- b) JWT
- c) OAuth2.0
76) Mono Objects
77) Flux Objects
78) REST Client Introduction
79) RestTemplate
80) WebClient
81) RestTemplate vs WebClient
82) Reactive Programming
83) Synchronous vs Asynchronous Calls
84) Apache Kafka with Spring Boot
85) Redis Cache Integration with Spring Boot
86) Monolith Architecture Introduction
87) Monolith Architecture case study
88) Monolith Application Deployment Process
89) Load balancer (Cluster) case study
90) Load Balancing Algorithms
- a) Round Robin
- b) IP Hashing
- c) Sticky Session
91) Monolith Architecture Drawbacks
92) Micro services Introduction
93) Micro Services Advantages
94) Micro Services Dis-Advantages
95) Micro Services case study
96) Identifying Micro services boundaries
97) Micro services Architecture
98) Micro services Development
- a) API – 1
- b) API – 2
99) Interservice communication case Study (FeignClient )
100) Cloud Introduction
101) AWS Account Creation
102) AWS Services Overview
103) Deploying Micro services to AWS
104) Service Registry case study (Netflix Eureka)
105) API Gateway
106) Hystrix (Circuit Breaker)
107) Spring Boot Admin Server
108) Spring Boot Admin Client
109) Distributed Logging
- a) Sleuth Logging
- b) Zipkin Server
110) Ribbon case study (Micro services load balancer)
111) Implementing Ribbon in Micro services
112) ConfigServer Introduction & Implementation
113) Micro services Integration with Angular
114) Maven
115) Log4J
116) Junit 5
117) Jenkins Deployment
118) Docker
119) POSTMAN
120) Swagger