Hands-On Application Development with Spring Boot 2

Hands-On Application Development with Spring Boot 2
Hands-On Application Development with Spring Boot 2
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 47m | 862 MB

Leverage THE rich Spring Ecosystem to create complex, secured applications with Spring Boot AND Spring MVC

Spring Boot is the fastest way to get a Spring application up and running with the fewest lines of code and the least configuration. It aims to make development easy so you can create production-grade applications and services. The Spring framework provides a great toolkit for the development of complex applications. In this course, we’ll fully leverage Spring Boot’s capabilities to create a payment system application and secure it with Spring Security.

This course provides a hands-on approach to building a payment system application from scratch using Spring Boot 2.0. You’ll begin by setting up Spring Boot together with Spring’s most powerful feature: Dependency Injection. Then you’ll build a data access layer with Spring data and rework it to be highly performant using Spring data reactive. Next, you’ll learn about Spring rest and servlets and use it to expose resources via HTTP endpoints.

Later you’ll use Spring MVC to build an interface for the payment system. Moving on, you’ll expose critical business metrics using MicroMeter library and Spring actuator with Prometheus library. Finally, you’ll package your application into a Docker container and deploy your application into the cloud.

This course is a practical step-by-step guide for developing Spring Boot applications using the new Spring Boot 2.0 framework with Spring Data and Spring MVC.

What You Will Learn

  • Use Spring Boot to bootstrap your application quickly
  • Leverage the power of spring Dependency Injection with Spring Boot
  • Expose resources via a REST endpoint
  • Develop custom filters that intercept HTTP servlet requests
  • Access data layer with Spring Data
  • Make your data layer reactive with Spring Data Reactive
  • Implement user interface for Spring Boot REST endpoints with MVC
  • Secure your application with Spring Security
  • Test your application in the integration way
  • Make your app ready for production with Actuator and MicroMeter library
Table of Contents

Spring Dependency Injection with Spring Boot
1 The Course Overview
2 Set Up the Spring Boot Project and Spring Boot Runner
3 Creating Scope of Payment Service Bean
4 Creating @Configuration, @Component, and @Service Beans
5 Controlling Life Cycle of Spring Bean
6 Using Component Scan to Find out about Spring Components

REST and Servlets with Spring Boot
7 Exposing Users via REST Endpoint
8 Intercepting REST Calls via Filter
9 Using Filter to Add Transactions Support to the REST Endpoint
10 Plugging Filtering Logic
11 Testing Filters

Accessing Data Layer with Spring Data
12 Creating Spring Payment Entity
13 Extending CrudRepository with Custom Methods
14 Testing CrudRepository
15 Reworking CrudRepository to Work in a Reactive Fashion
16 Testing ReactiveCrudRepository
17 Performing Joins between Payment and User

Creating Web Interface with Spring Boot and Spring MVC
18 Adding Spring MVC to the Spring Boot App
19 Creating Views for the Payment and User
20 Exposing View for Retrieving Payment via MVC Controller
21 Exposing View for Creating New Payment via MVC Controller
22 Testing MVC Application Using MockMVC Construct

Securing Your Application with Spring Security
23 Adding WebSecurity Configuration to Protect Private Endpoints
24 Exposing Static Content Securely
25 Testing Security of Payment Private Endpoints
26 Adding Security for MVC Endpoints
27 Performing Security Test on Your App

Monitoring and Deploying Spring Boot Production App
28 Measuring REST Endpoints and Data Access Layer
29 Creating REST Endpoint for Exposing Custom Metrics
30 Exposing Metrics via Spring Prometheus Library
31 Making Application Reliable with Custom Health Checks
32 Creating a Docker Container with Payment Application
33 Deploy Ready Docker Container with Application to Heroku Cloud