Spring Boot Fundamentals
4.2 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
402 students enrolled

Spring Boot Fundamentals

Building Web Apps and REST services with Spring Boot
4.2 (2 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
402 students enrolled
Created by ChargeAhead LLC
Last updated 9/2019
English
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Spring Boot is a very powerful open source java framework based on Spring, which has dramatically simplified the bootstrapping and development of java based applications and microservices. It takes an opinionated approach towards development, providing intelligent defaults so that you get a production-grade application which you can just run with minimal configuration. In this course we will cover the basic fundamentals and concepts of this multi-featured framework. We will go step by step building a fully functional Spring MVC app as well as a CRUD REST based web services app. We will see how to create and consume REST web services. We will learn about the Thymeleaf template engine supported by Spring Boot for the front-end development as well as see how Spring Boot makes it easy to connect to backend databases and switch them at ease,along the way. We will cover health monitoring, caching and security of spring boot apps. We will see how to configure our app for different environments using Spring Profiles. We will see how easy it is to dockerize our spring boot app, which allows us to quickly deploy it to cloud environments. By the end of this course, you would have a solid conceptual understanding of the various aspects of this framework to rapidly start developing applications and microservices.
  • Getting productive with Spring Boot
Requirements
  • Basic Java, Spring MVC concepts
Description

Spring Boot is a very powerful open source java framework based on Spring, which has dramatically simplified the bootstrapping and development of java based applications and microservices. It takes an opinionated approach towards development, providing intelligent defaults so that you get a production-grade application which you can just run with minimal configuration. In this course we will cover the basic fundamentals and concepts of this multi-featured framework. We will go step by step building a fully functional Spring MVC app as well as a CRUD REST based web services app. We will see how to create and consume REST web services. We will learn about the Thymeleaf template engine supported by Spring Boot for the front-end development as well as see how Spring Boot makes it easy to connect to backend databases and switch them at ease,along the way. We will cover health monitoring, caching and security of spring boot apps. We will see how to configure our app for different environments using Spring Profiles. We will see how easy it is to dockerize our spring boot app, which allows us to quickly deploy it to cloud environments. By the end of this course, you would have a solid conceptual understanding of the various aspects of this framework to rapidly start developing applications and microservices.


  • Spring Boot basic concepts and benefits

  • Bootstrapping your applications using Spring Initialzr

  • Basic Spring annotations, artifacts, starter dependencies

  • Creating a fully functioning Spring MVC app with the model, repository,service, controller and view layers

  • Thymeleaf template engine and integration with third party libraries like bootstrap and jquery

  • Connecting to a backend database: H2 and MySQL

  •  Monitoring health and metrics with Spring Boot Actuators

  • Securing your app with users and roles

  • Implementing caching using Redis

  • Configuring your app for different environments using Spring Profiles

  • Dockerizing your app and launching several instances of it


Who this course is for:
  • Java Developers, Architects
Course content
Expand all 60 lectures 03:10:14
+ Introduction and Overview
9 lectures 14:40

Section overview

Preview 01:17

In this lecture we will introduce Spring Boot.

Preview 00:56

In this lecture we will outline the course and what we will cover in each section

Preview 03:57

In this lecture we will discuss who will be the right audience for this course

Preview 00:17

In this lecture we will talk about the tools you would need to follow along this course

Tools
01:25
App Preview
01:49

In this lecture we will summarize what we covered in this section.

Summary
01:08
+ Basics and Getting Started
9 lectures 23:37

We will take an overview of what we are going to cover in this module

Section Overview
02:01

Using Spring Initialzr we will rapidly build our first web app

Demo: Spring Initialize and building our first app
06:58

Explain Spring Boot basic concepts, annotations, and structure

Spring Boot Basic Concepts
02:26

We will illustrate the Spring Boot basic annotations and concepts in the app we just built

Demo: Spring Boot Annotations and Artifacts
02:06

In this lecture we will show how Spring Boot autoconfigures our app based on our dependencies , what we specify and don't specify.

Demo: Spring Boot Autoconfiguration report
02:16

In this lecture we will demonstrate how to run our spring boot app from the command line

Demo: Running from the Command Line
01:21

In this lecture we will use the Spring Starter Project in Spring Tool Suite to build and run a console app

Demo: Creating a Console App using Spring Starter Project in Spring Tool Suite
03:14

In this lecture we will show how to bootstrap our Spring Boot project using the Spring Boot Command Line Interface

Demo: Bootstrapping our project using Spring Boot Command Line Interface
01:50

In this lecture we will summarize what we covered in the section.

Summary
01:25
+ Creating a Spring MVC App
7 lectures 20:00

We will take an overview of what we will cover in this module

Section Overview
00:53

We will create a brand new Spring Boot project and add the model, service and controller layers to it.

Demo: Creating Model, Service and Controller layers
05:28

We will add the view layer to show our item inventory. We will use Thymeleaf as the template engine

Demo: Adding View layer using Thymeleaf
02:55

We will add Spring Boot Developer Tools to our app which makes development and testing easier

Spring Boot Developer Tools
02:13

In this lecture we will see Spring Boot Developer Tools in action.

Demo: Spring Boot Developer Tools
02:35

In this lecture we will demonstrate options for referencing third party libraries like Bootstrap, Jquery etc in our Spring Boot app

Demo: Adding and referencing external javascript and css files
04:56

In this lecture we will summarize what we talked about

Summary
01:00
+ Connecting to Database
7 lectures 27:16

We will talk about what we will cover in this section

Section Overview
02:04

In this lecture we will see how to connect to an H2 database and demonstrate starter scripts

Demo: Integrating with H2 database
01:56

In this lecture we will talk about using Spring Boot to create tables and insert sample data

Demo: Schema Initialization and Connection Pooling
06:10

We will add the Repository layer for database CRUD operations

Demo: Implementing CRUD operations
04:47

In this lecture we will implement functionality for add/delete and update operations and add view layers to complete our app

Demo: Adding Thymeleaf pages for adding/updating and deleting items
08:55

In this lecture we will see how easy it is to switch our app to use MySQL database at the back-end

Demo: Switching to MySQL database
02:32

In this lecture we will summarize what we talked about

Summary
00:52
+ Building and Consuming REST based Web Services
6 lectures 23:45

In this lecture we will take an overview of the section

Section Overview
00:56

We will create a new Spring Boot project and create its model, repository and service layers

Demo: Creating Model, Repository and Service layers
05:41

In this lecture we will link our app with a backend MySQL database.

Demo: Linking Database
03:24

In this lecture we will create REST APIs for performing CRUD operations against our items object.

Demo: Creating REST endpoints
06:41

In this lecture we will create another spring boot project where we will display the front-end by consuming the REST APIs in the back-end

Demo: Consuming REST Services
06:18

In this lecture we will summarize what we covered in this section

Summary
00:45
+ Monitoring Health and Metrics With Actuators
7 lectures 16:40

In this lecture we will take an overview of the section

Section Overview
01:21

In this lecture we will talk about some of the actuator changes introduced

Actuator changes
02:10

In this lecture we will add Actuator to our app, demonstrate the various endpoints for obtaining health and metrics information and see how to enable and expose endpoints.

Demo: Adding Actuator dependency and enabling / disabling endpoints
05:11

In this lecture we will see how to add the build information for our app to the info endpoint

Demo: Showing build information in the info endpoint
01:01

In this lecture we will see how to create our custom health check and add it to the health endpoint

Demo: Adding custom health indicator
02:43

In this lecture  we will create a custom endpoint, displaying our warehouse locations and allowing us to add/edit/delete them

Demo: Adding new endpoint
03:11

In this lecture we will summarize what we have covered in this section

Summary
01:03
+ Improving performance by implementing caching
5 lectures 21:55

In this lecture we will take an overview of what we will be covering in this section

Section Overview
01:20

In this lecture we will add the cache dependency to our application and devise caching strategy by putting various caching annotations in the controller layer.

Demo: Adding caching to our application
11:09

In this lecture we will demonstrate conditional caching.

Demo: Conditional caching
03:43

In this lecture we will switch our cache provider to Redis

Demo: Switching the cache provider to Redis
05:04

In this lecture we will summarize what we covered in this section

Summary
00:39
+ Implementing Security
6 lectures 20:30

In this lecture we will take take an overview of what we will cover in this section

Section Overview
01:04

In this lecture we will implement basic security for our application.

Demo: Basic Authentication
02:10

In this lecture  we will add custom security roles and authorization rules and protect REST endpoints with roles

Demo: In-memory authentication and authorization
05:30

In this lecture we will switch our app to use database authentication, with a MySQL database at the back end.

Demo: Database authentication
07:17

In this lecture we will talk about OAuth2 and the support Spring Boot provides for it.

OAuth2
03:35

In this lecture we will summarize what we talked about in this section.

Summary
00:54
+ App Configuration With Profiles and Deployment Using Docker
4 lectures 21:51

In this lecture we will take an overview of what we will cover in this section.

Section Overview
01:22

In this lecture  we will use @Profile annotation to load appropriate classes for different profiles ,specify database connection and log settings for dev and prod environments using profiles and specify the profile while invoking the app

Demo: Spring Profiles
09:17

In this lecture we will dockerize our application, run multiple instances of our app using Docker containers and specify profile while invoking Docker containers

Demo: Dockerizing our Spring Boot app
10:13

In this lecture we will summarize what we talked about in this section.

Summary
00:59