Description
In this course, you will :
- Create a Spring Boot application from the ground up.
- Learn how to structure a spring boot project.
- Put your spring boot application to the test.
- Discover how Spring Boot makes application development easier.
- Using Spring Data JPA, perform CRUD operations on an in-memory database.
- Execute CRUD operations on the MYSQL database.
- Using Spring Web, expose REST APIs.
- Learn how spring boot automatically configures a spring project.
- Enable the application's health metrics.
- Customize the health metrics endpoint with your own data.
- Make use of Spring Boot Profiles.
- Make use of the Thymeleaf Templating Web Engine.
- Set up database caching.
- Make use of Spring Batching.
- SpringMockMVC is used to write unit testing.
- SpringJMS is used for messaging.
- Swagger can be used to document your REST APIs.
- REST is used to upload and download files.
- Discover the basics of Reactive Programming.
- Use Spring Web Flux and Project Reactor.
- Make use of Reactive MongoDB.
- Using the Reactive Test Module, create unit and integration tests.
- Discover what RSockets are.
- Make an RSockets server and clients.
Syllabus :
1. Software Setup
- Install Java
- Install STS
- Configure JDK in STS
- Install MySql and MySql workbench
- Launch MySql Workbench
- Windows Only -Install Mysql
- Windows Only - Install Mysql Workbench
- Install Postman
- Slides Used In The Course
2. Basics
- The problems with the traditional spring application
- Spring Boot Features
- Spring Boot In Action
3. First Project
- Create a Spring Boot Project
- Spring Boot Starters in POM
- @SpringBootApplication
- @SpringBootTest
- Do Dependency Injection
- Testing
4. Spring Data JPA
- Create the project
- Add Spring Data JPA Dependency
- Maven Dependencies
- Create Model Class
- Create the Repository
- Testing
- Show SQL
5. Create REST CRUD API
- REST Web Services using Spring Boot
- Create the DB Table
- Create the project
- Create the Model and Repository
- Mark with JPA annotations
- Create the Controller
- Get Single Product
- Create Update and Delete
- Configure The Data Source
- Run the application
- Running outside STS
- How Spring Boot Auto Configuration Works ?
- Configure Context Path
- Test Create FindAll
- Test FindById and Update
- Changing the Embedded Server
- Create REST CRUD API
- Spring Web and REST API
6. Creating a REST Client
- RestTemplate GET method
- POST method
- PUT Method
7. Profiles
- Configure REST URL
- Create and Activate a Profile
- Activate Profile through VM argument
8. Logging
- Use Logging
- Log to file
- Change Log Level
9. Health Checks and Metrics
- Enabling health checks
- Expose Health Details
- Add Build Info
- Expose other endpoints
- Custom Health Information
- Enable health checks and customize info endpoint
- Health Checks and Metrics
10. Spring Security
-
Enable Security
11. Thymeleaf
- Thymeleaf in action
- Special Syntax
- Sending data to template
- Create a template
- Disable Cache
- Sending Object Data
- Rendering multiple records
- Create a HTML Form
- Process Form Data
12. Database Caching
- Steps to enable caching
- Add Maven Dependencies
- Configure Caching
- Enable and Use Caching
- Caching in action
13. Spring Batch
- Batching API
- Create Project
- Create Reader
- Implement Processor Writer and Listener
- Configure the beans
- Configure the Step
- Configure the Job
- Write a Test
- Troubleshooting Updates
- Batching in action
- Configuring chuck size
- CSV to Database
- Create the project and model
- Create the CSV
- Implement Reader
- Implement Processor
- Implement Writer
- Configure the DataSouce
- Configure Step and Job
- Write a Test
- CSV to DB in action
14. Unit Testing using MockMvc
- Create the test
- Use MockMvc
- Expect Results
- Refactoring
- Test Create
- Test Update and Delete
15. Messaging and Spring JMS
- What is Messaging
- Why Messaging
- Two Message Models
- What is JMS
- Spring JMS
- Install Apache ActiveMQ
- Create the project and message sender
- Create Message Listener
- Test
- More about Spring JMS
16. Swagger REST Documentation Quickstart
- Spring boot and Swagger
- Swagger in action
- Change URI
- Swagger annotations
- Advanced Config Reference
17. Validations
- Validations in actions
18. REST File Upload and Download
- Completed project for download
- Create the project
- Implement File Upload
- Test
- Implement and Test File Download
- RestTemplate APIs
- Upload Client
- Download Client
19. Spring Reactive Programming
- Create Reactive Project
- Mono and Flux
- Use a Consumer
- Few More methods
- Use a Subscriber
- Configure Batching
- Implement the usecase
- Spring Webflux
- Create a reactive rest api
- Create a Web Layer
20. Use Reactive MongoDB
- MongoDB Introduction
- Install Mongo
- Mongo Commandline
- Mongo Reactive API
- Create the project
- Create model and repository
- Implement the API
- Test
21. Reactive Testing
- Create First Test
- expectNextCount
- assertNext
- Couple more methods
- Unit Testing APIs
- Write a Unit Test
- Unit Test VaccineController
- Mockito Verify
- Unit Test addProduct
- Unit Test getProducts
22. RSockets
- Four Models
- Rsocket Server API
- Create the RSocket Server Project
- Implement Request Response Endpoint
- Client API
- Setup the client project
- Create the RSocket Client
- Use Logging
- Test Request Response
- Fire and Forget Server
- Fire and Forget Client
- Request Stream Server
- Request Stream Client