humix
Spring Boot course introduction
8 views · Nov 5, 2021
Introduction of the Spring Boot course.

In this spring boot course, you’ll learn how to create a REST API with Spring Boot from start to finish, i.e not just coding but from project set up through to deployment.

For this course, we are going to create a REST API that would save, retrieve and delete comments of blog posts. Check out the introduction module for the list of requirements of the API.

Following are the modules 
 - Project set up
 - Design
 - Implementation with unit testing and integration testing.
 - Deployment 

Let’s take a closer look at each module.

Project set up
---------------
Here I show you two different methods of setting up the project. You could choose to use either one depending on your preference.

This module is a part of the free preview, so if you sign up for the free trial you could check this out.

This module consists of two lessons,

Lesson 1: Set up the project using Spring initializer
In this lesson, we look at,

 - How to use the spring initializer to create a project.
 - Spring starter dependencies.
 - Discuss the content i.e each and every line, of the generated build file. 

Lesson 2: Set up the project using Gradle without Spring initializer

In this lesson, 
 - We set up the project manually using Gradle.
 - Generate a java project using Gradle command line.
 - Work on the build file to add the required plugins and dependencies.
 - Discuss core Gradle plugins, community plugins and the Gradle plugins portal.
 - Then generate the eclipse configuration files and import the project to eclipse.

Design
--------
This module is consolidated into one lesson.

Lesson 3: Design
In this lesson we discuss,
 - What is REST
 - Some basic REST API design principals
 - Design the Comments API 
 - Application architecture of a Spring Boot project.

Testing and implementation
----------------------------

This module consists of several lessons on unit testing implementation and also integration testing the API.

Lesson 4: Endpoint implementation to retrieve comments - part 1 (The Controller)
In this lesson, we implement a method to return all comments of a particular post, in a test-first manner.
That means, as, in all of the implementations throughout the project, we write unit tests before writing a single line of logic.

Lesson 5: Endpoint implementation to retrieve comments - part 2 (The Service)
In this lesson, we move the business logic to the service layer by refactoring the controller and unit tests.

Lesson 6: Endpoint implementation to retrieve comments - part 3 (The Repository)
In this lesson, we move on to the repository layer and discuss
 - Spring Data
 - How to use the repository interfaces

Lesson 7: Integration testing - part 1
 - MockMVC
 - Spring’s testing support and annotations
 - Request builders
 - Result matchers...

Lesson 8: Making a Spring Boot Application

This lesson is also a part of the free preview, so if you sign up for the free trial you could check this out.
Here we discuss the spring boot annotations and then add all the required annotations to wire everything up and make the application work.
 - Spring boot annotations

Lesson 9: Spring Transaction handling

In this lesson, we discuss the following
 - What does transactional mean in terms of executing a method?
 - Overview of how spring transaction management works
 - @Transactional annotation and its settings
 - How to apply transaction management with @Transactional annotation.
 - How readOnly applies to transactions.
 - Transaction configuration settings

Lesson 10: Integration testing - part 2

Here we continue the integration testing
 - use JSONPath expressions to assert the response body.
 - Preload and clean up the database before and after a test using script files and annotations.
 - Return relevant response codes upon exceptions.

Lesson 12: Endpoint implementation to save a comment
Unit tests and implementation of the endpoint for saving a comment.

Lesson 13: Integration testing part 3
Write some integration tests for saving the comment

Lesson 14: End to end test
 - Run the application in eclipse 
 - Save a comment via postman
 - Retrieve the saved comment in the browser.

Lesson 15: Endpoint implementation to delete a comment
 - Unit tests and implementation of the endpoint for deleting a comment.
 - Physical delete vs Logical delete.

Lesson 16: Integration testing part 4
Write some integration tests for deleting the comment

Deployment
------------

Lesson 17: Deployment
Various ways of running the application and war deployment to an external server.

Lesson 18: External database

 - Connect to MySQL server.
 - How to use the embedded database for integration testing while using an external database for production.

You can download the completed project at various stages.

Links to all references are provided in each module.
see more

Comments

Latest Videos
place
5:46
play
Spring Boot Project set up using Spring Initializr
Spring Boot Project set up usi...
Spring Boot Project set up using Spring Initializr
16 views
place
8:35
play
Spring Boot Integration Testing - Part 3
Spring Boot Integration Testin...
Spring Boot Integration Testing - Part 3
13 views
place
7:13
play
Deploy A Spring Boot Application
Deploy A Spring Boot Applicati...
Deploy A Spring Boot Application
258 views
place
3:28
play
Connect Spring Boot with MySQL
Connect Spring Boot with MySQL
Connect Spring Boot with MySQL
616 views
place
5:11
play
Spring Boot Integration Testing - Part 4
Spring Boot Integration Testin...
Spring Boot Integration Testing - Part 4
15 views
place
8:29
play
Spring Boot REST API Delete Request
Spring Boot REST API Delete R...
Spring Boot REST API Delete Request
11 views
place
12:32
play
Spring Boot REST API - POST Request
Spring Boot REST API - POST Re...
Spring Boot REST API - POST Request
17 views
place
5:48
play
Spring Boot course introduction
Spring Boot course introductio...
Spring Boot course introduction
8 views
place
1:46
play
End To End Testing
End To End Testing
End To End Testing
21 views
place
9:14
play
Integration testing with Spring Boot - 2
Integration testing with Sprin...
Integration testing with Spring Boot - 2
286 views