- by RAGHU SIR [ NareshIT, Hyderabad]
SPRING BOOT and
CLOUD with
MICROSERVICES
Spring Boot:
a) Spring Boot core:
1. Boot Basic and Features
• Need Of Spring Boot
• Spring V/s Boot
• Components in Boot
• Boot Architecture
• Types of Files in Boot
• Advantages of Boot
• Boot Dependencies
• Maven Boot Plug-in
• Parent Project in Boot
2. First Application in Boot
• Basic Annotations in Boot
• Execution Flow
• Boot Starter class
• Application Properties
• Server Port Change
• Managing of Dependencies
• Common Problem in coding
• @SpringBootApplication
3. Customizing the Banner
• Spring Boot Banner
1
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Banner Example
• Text Banner
• Custom banner
4. Runners in Spring Boot
• Command Line Runner
• Application Runner
• Multiple Runners with Order
• Runner Configuration
• Inputs to Runner
5. Application Properties file
• Properties file Need
• XML/Properties
• Finding Key-values
• Option-args/Non option-args
• Default values
6. Application YAML File
• YAML structure
• YAML Locations and Order
• Snake YAML Execution Flow
7. POM structure for Boot
• Why POM
• Role of POM Elements
• Parent Project
• Properties in POM
• Version Management
8. Profiles in Spring boot
• @Profile annotation
• Customer/Environment Specific coding
• Profile Properties
• Profiles YAML
9. Building Application (.jar,.war)
• What is Build plug-in
• Maven Clean and Install
• target folder and .jar and .war
2
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
10. Spring Boot starter class
• @SpringBootConfiguration
• @EnableAutoConfiguration
• @ComponentScan
11. Spring Boot stand alone Application
• Writing Stand alone Application
• Service Examples
• Printing Messages
12. Spring Boot Configuration
• Writing Application Configuration
• Java and Annotation Configuration
• Auto detection of Configuration File
13. Lombok API
• @Data
• @Getter
• @Setter
• @ToString
• @EqualsAndHashCode
• @NoArgsConstructor
• @RequiredArgsConstructor
• @AllArgsConstructor
• @NonNull
14. Basic Annotations and Execution flow
• @Service
• @Component
• @Scope
• @Bean
• @Configuration
• @ConfigurationProperties
• @Order
• @Profile
• @Value
• @PropertySource
3
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
b) Spring Boot Advanced:
15. Spring Boot Web Applications
• Design of Web Applications
• Layers in Web Application
• Spring Boot MVC Model
• Writing of Controllers
16. Embedded Server and Databases
• Need of Embedded Components
• Knowing Servers Configuration
• Working with Tomcat
• Working Jetty Servers
• Working with Undertow
• H2 Database and Console
• HSQLDB
• Apache Derby
17. Spring Boot Jdbc
• Curd Repository
• Basic Operations
• Execution with Different Dbs
• Database Connection Properties
18. Spring Boot Data JPA
• JPA Repository
• JPA DB Operations (CURD)
• findAll and findBy methods
• @Query Annotation for HQL
• JPA Properties Configuration
19. Spring Boot MongoDB
• Mongo Repository
• Document and Models Design
• JSON Format
• Basic Operation
• Embedded Mongo Db
• External Mongo Configuration
4
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Mongo DB Security
20. Spring Boot AJAX
• Synchronous v/s Asynchronous
• AJAX introduction
• JQuery AJAX call models
• Integration with RestController
21. Spring Boot Connection Pooling
• Types of Temporary Memories
• Need of Pooling
• Pooling v/s caching
• Hikari CP Configuration
22. Spring Boot Pagination and Sorting
• Pagination Introduction
• Google Example for Pagination
• Pagination And Sorting Repository
• Page and Pagleabe objects
• default values for Pagination
• Sorting Directions
23. Spring Boot Security
• Boot Security Design
• Authentication and Authorizations
• Roles and AntMatcher ULR Patterns
• In Memory Authentication
• Default Form Logins
• Custom Form Creation
• Jdbc Authentication
• JPA/Hibernate(ORM) Authentication
• OAuth2 Security Design
• OAuth2 Client Application Design
24. Rest Web services and Operations
• Need of JSON
• JSON and It's Auto Conversion
• Testing Using POSTMAN
• Types of HTTP Methods
5
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• PUT
• GET
• DELETE
• POST
• Parameters (HeaderParam, Request Param..)
• ResponseEntity Format
• @RequestBody and @ResponseBody Format
25. Spring Boot with Swagger
• What is API Endpoints
• Swagger Introduction
• Design of SwaggerUI
• Coding for RestController
• Testing Swagger Operations
26. Spring Boot Profiles
• Need of Profiles
• Environments and Profiles
• Defining Profiles
• Execution Of profiles
27. Spring Boot DevTools
• What are DevTools
• Dependency for DevTools
• Working with DevTools
28. Spring Boot Task Scheduling
• Schedulers Introduction
• Task Management
• fixedDelay and fixedRate
• cron expression
29. Spring Boot Actuator
• Production REST Endpoints
• Sensitive and Insensitive end points
• Dependency for Actuator
• Executing endpoints
• finding logs
• Beans in container
• Health check
6
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Current Environment
30. Spring Boot Email
• Java MAIL API structure
• Mail Properties
• Boot Mail Design
• Simple Email
• Mime Email with Attachments
31. Spring Boot batch API
• Batch API Introduction
• Item Reader, Writer and Processer Design
• StepConfiguration
• JobConfiguration
• JobExecutionListsner
• CSV to MySQL Batch Programming
Microservice :
1. Monolithic Applications
• Introduction of Layers Application
• Modules Integration
• Implementation of Monolithic Applications
2. Drawbacks of Monolithic applications
• Problems in Design
• Load Balancing
• Parallel Coding and Testing
3. SOA Introduction
• What is SOA
• SOA as Design Pattern
• Components of SOA
• Consumer and Producers
• Registry and Discovery Component
4. Microservices Introduction
• Importance of microservices
7
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Services in Application
• Monolithic to Microservices
• Architecture and Implementation styles
5. Design of Microservices
• Eureka Server as Registry and Discovery
• Registry server
• Consumer Discovery
6. Intra Communication of Microservices
• Provider and Consumer Integration
• Sending/Receiving Data
• HTTP Methods Examples
7. Data passing types (JSON,XML)
• HTTP Parameters
• HTTP Body for Data passing
• Object to JSON Format
• Object to XML Format
8. Need of Load balancing
• What is Load balancing
• Types of Load Balancing
• Ribbon for Client Load balancing
• Zuul for Server Load Balancing
9. API creation for Microservices
• Defining Consumer for RestController
• Paths and Parameters
• Using API for Integration
Spring Cloud:
1. Spring cloud Architecture
• Components
• Service Registry
• API Gateway
• Config Server
8
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Config Client
• Load Balancer
• PCF
• Circuit Breaker
• Cloud Integrations
2. Discovery and Registry server
• Netflix Eureka Server Example
• Application Properties
• Dependencies Introduction
• Spring Boot version and Cloud version
3. Provider and Consumer Microservices
• RestTemplate Introduction
• Eureka server Registry
• Provider Creation and Register with Eureka
• Consumer Application and Register with Eureka
• Application Configuration for RestTemplate
• Consumer and Provider Integration
4. Config server and Config Client
• Need of Config Servers
• Local File System
• Git Config Servers
• Eureka with Config server
• Provider and Consumers with Config Client
5. API for Gateway Proxy
• What is API Gateway
• Netflix Zull Gateway example
• Zull project Properties
• Integration with Eureka and PC App
6. Loading Balancing
• Need Of load Balancing
• Netflix Ribbon Example
• Provider Load Balancing
• Ribbon with Eureka - PC APP
7. Fallback methods and Circuit Breaker
9
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
• Exception Handling in Cloud
• Fallback methods
• Hystrix Circuit Breakers
• Hystrix Dashboard
8. Securing API
• Security Design
• Securing End Points
• OAuth 2.0 Introduction
• OAuth2.0 Implementation
9. Zipkin and Sleuth
• Logging and Tracing in Microservices
• Log4J for Microservices
• Need of Sleuth
• Zipkin UI Tracer
10. Pivotal Cloud Foundry (PCF)
• What is PCF
• Register and Validate Account
• Installing PCF in system
• Push Microservice to PCF
• Service Dashboard
• PCF Basic Commands
11. Message Queue(MQ)
• Introductions to MQs
• Need of MQs
• Coding using Active MQ
• Rabbit MQ Example
12. Admin UI
• Admin UI usage
• Configure Dependency
• Actuator with Admin UI
10
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com
- by RAGHU SIR [ NareshIT, Hyderabad]
Case study [ Employee Module ]
✓ Spring Boot Design and Coding
✓ Converting to Microservices
✓ Deploy in PFC
✓ Integrate with Spring Apps
✓ Integrate with Angular Apps
Spring Boot with Tools
➢ Eclipse, STS
➢ Maven
➢ Gradle
➢ Github
➢ start.spring.io
➢ JUnit With Mocking
➢ Logging
➢ Reference Documents
➢ Docker
➢ FAQs
11
ph: 040-65538958, 65538968, 65538978. www.sathyatech.com