Spring Boot course introduction

55 views · Nov 5, 2021
Visit Channel: javacodehouse.com
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.
Show More

Comments

Latest Videos
'Video thumbnail for Spring Boot Annotations'
15:51
play
Spring Boot Annotations
70 views
'Video thumbnail for Spring Boot Project set up using Spring Initializr'
5:46
play
Spring Boot Project set up using Spring Initializr
334 views
'Video thumbnail for Spring Boot Integration Testing - Part 3'
8:35
play
Spring Boot Integration Testing - Part 3
109 views
'Video thumbnail for Deploy A Spring Boot Application'
7:13
play
Deploy A Spring Boot Application
369 views
'Video thumbnail for Connect Spring Boot with MySQL'
3:28
play
Connect Spring Boot with MySQL
722 views
'Video thumbnail for Spring Boot Integration Testing - Part 4'
5:11
play
Spring Boot Integration Testing - Part 4
17 views
'Video thumbnail for Spring Boot  REST API Delete Request'
8:29
play
Spring Boot REST API Delete Request
124 views
'Video thumbnail for Spring Boot REST API - POST Request'
12:32
play
Spring Boot REST API - POST Request
32 views
'Video thumbnail for  End To End Testing'
1:46
play
End To End Testing
108 views
'Video thumbnail for Integration testing with Spring Boot - 2'
9:14
play
Integration testing with Spring Boot - 2
215 views