Learn Spring Boot - Rapid Spring Application Development
4.3 (1,665 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,583 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn Spring Boot - Rapid Spring Application Development to your Wishlist.

Add to Wishlist

Learn Spring Boot - Rapid Spring Application Development

Spring Boot gives you all the power of the Spring Framework without all of the complexity. Start writing apps today!
Bestselling
4.3 (1,665 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,583 students enrolled
Created by Dan Vega
Last updated 3/2017
English
English
Current price: $10 Original price: $95 Discount: 89% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 11 hours on-demand video
  • 11 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create Spring MVC Applications
  • Connect to databases using Spring Data
  • Secure your applications using Spring Security
  • Create an executable JAR of your application
View Curriculum
Requirements
  • Students should be familiar with the Java and or Groovy Programming Language
  • Web Development Experience (HTML / CSS / JavaScript)
  • A computer that can run Java + IntelliJ or Eclipse
Description

Do you want to learn how to use Spring Boot to create engaging applications? Do you want to learn it in mere minutes instead of suffering for days trying to learn various programming languages? Are you a Spring Developer looking to hone your skills or just someone who is looking to expand their programming skill set?

Then this course, offered by Udemy and created by a Cleveland based Software Engineer, Dan Vega is the right choice for you. This particular course offered, called “Learn Spring Boot” is designed to introduce you to Spring Boot through showing you an opinionated view of the building of Spring applications through both the Java and Groovy programming languages. It is a crash course, one where very little knowledge of both of these programming languages is recommended and where any prior knowledge of the Spring Framework is not at all necessary in order to learn.

So what is Spring Boot and why is it necessary to learn? Spring Boot and the Spring Framework makes it easy to create both powered and production grade applications and services that run on their own and can be maintained with a minimum fuss. It also provides production ready features such as metrics, health checks and even externalized configuration. It is software designed to run anywhere, meaning you can create executable JARs, which is one of the most favorable features of this type of program.

While learning this type of application might seem like a daunting task, this course structures Spring Boot and Spring Framework learning in an easy to comprehend fashion. Featuring topics like an Introduction into the Framework as well as step by step guidelines into creating your first application, this course is perfect for almost any user. The only requirements in order to excel at this courses’ teaching of Spring Boot is some familiarity with Java and Groovy programming languages, some web development experiences as well as a computer that is capable of running both Java + Intellij or Eclipse.

Besides this course offering lifetime access to all eighty featured lectures and over ten hours of teaching content, it also offers you the opportunity to create Spring MVC applications and also tutorials on how to connect to various databases using Spring Data. This course will be extremely beneficial to students who are new to Spring Boot, students who are unfamiliar with Spring Framework or those who are looking into writing their own apps. This course applies to all of these cases.

Coming with nearly all five star ratings, this course from Dan Vega and Udemy comes highly reviewed and rated. Dan’s teaching style is described as “detailed” and “responsive” and his “obvious love and enthusiasm for the framework is infectious”. And since it is a course open to all skill levels and understandings, it is one of the best choices on the Udemy market for those looking to learn the ins and outs of the Spring Boot Framework as well as those looking to hone their skills in Java web development.

Who is the target audience?
  • Students new to Spring Boot
  • Students new & existing to the Spring Framework
  • You should NOT take this course if you have never used Java before.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
89 Lectures
11:08:58
+
Introduction
5 Lectures 19:08

About Me

Hello there. My name is Dan Vega and I will be your instructor for this Introduction to Spring Boot. I want take this opportunity to say thank you for signing up for this course. I have a real passion for teaching and I am so excited to lead you on this adventure.

About This Course

This course is designed to introduce you to the Spring Framework and Spring Boot. You DO NOT need any prior experience with the Spring Framework but you should be familiar with the Java and / or Groovy programming languages.

What you will learn

  • Development Environment
  • Hello, Spring Boot.
  • Building Blocks
  • Developing Web Applications
  • Data Access with Spring Boot
  • Security
  • Building REST Services
  • CRUD
  • Guides

Teaching Style

Finally I just want to cover my teaching style. I like to teach the same way that I like to be taught which is by utilizing a mixture of presentation slides, code demos, exercises and quizzes. I have found that you are much more likely to retain knowledge by applying what you have learned. So don’t get comfortable. It might be the first day of school but we have a quiz coming up at the end of this section.

Preview 02:46

Spring Boot makes it easy to build Spring Framework applications. As I said in the introduction you don't need to know the Spring Framework to take this course. I am going to take this opportunity to give you a little background on what the Spring Framework is and why you should care about it.

Preview 07:57

Now that we know a little bit about what the Spring Framework is where does Spring Boot come into play. How is Spring Boot going to help me build Spring Framework Applications?

Preview 06:02

All of the code for this course is hosted on github. In this lecture I just want to show you how to get this source and the conventions I used for storing it.

Source Code for This Course
01:47

In this quiz we are just going to make sure we understand some of the basics that we covered in this section.

Introduction Quiz
5 questions

This is just a quick exercise to get you familiar with the Spring documentation.

[Exercise] - Spring Documentation
00:36
+
Development Environment
9 Lectures 56:54

This section is all about setting up your development environment. If you were a chef you wouldn't run into a kitchen and start cooking without any utensils would you? Well we can't start writing code until we have everything we need to start cooking. 

Development Environment Intro
01:08

In this tutorial you will learn how to install Java 8 on Windows.

Installing Java on Windows
05:34

In this tutorial you will learn how to install Java 8 on Mac OSX.

Install Java on Mac OSX
03:36

How to install Groovy on Windows using the Windows Installer

Install Groovy on Windows
04:44

How to install Gradle on Windows

Gradle on Windows
02:25

The Spring CLI (Command Line Interface) is a wonderful tool for interacting with Spring Boot projects. In this tutorial we will learn how to install it on Windows and how to use it.

Preview 07:33

In this tutorial we will learn how to install SDK Man and learn about what this tool is and how to use it. While we are here we should install Groovy/Gradle/Spring on Mac OSX

SDK Man
12:41

How to Install IntelliJ on Windows

Installing IntelliJ on Windows
09:44

How to install IntelliJ on Mac OSX

Installing IntelliJ on Mac OSX
09:29
+
Hello, Spring Boot!
11 Lectures 01:03:50

We have learned a little about what The Spring Framework is and why Spring Boot was created. We also had a chance to setup our local development environment. We are all ready to go and its time to start coding. In this section we are going to write our first application and build upon that. While we are it we are going to learn about build tools and more specifically how to use Maven and Gradle.

Preview 00:37

The Hello World Application is a typical start to learning any language. Here we are going to build a Spring Boot application from scratch. All you need for this is a text editor and you might want to take some notes because after this tutorial you will be writing your own application in your very first exercise.

Preview 05:54

In this exercise you will practice what you learned in the previous section

[Exercise] Create your first Spring Boot Application
00:19

The Spring Initializr is a great way to start a Spring Boot project. In this tutorial we will look at how to use it and the different ways you can use it.

Spring Initializer
12:36

An overview of what a Build Tool is and why we would want to use one.

Build Tools Overview
04:17

We installed Maven in the previous section so how can we use to build our Spring Boot applications. Actually we don't even need Maven because the project comes with a maven wrapper. What is Maven and how do we use it.

Maven Build
08:30

We installed Gradle in the previous section so how can we use to build our Spring Boot applications. Actually we don't even need Gradle because the project comes with a Gradle wrapper. What is Gradle and how do we use it.
Gradle Build
06:51

There are whole courses created to teach you what a build tool is and how to use it. We obviously can't do that here but lets make sure we understand what they are used for at a high level.

Build Tools
3 questions

In this lecture we will discuss Starter POMs. You may have heard me talk about them throughout this course and now we are going to learn a little about them. Their only purpose is to provide the necessary dependencies to work with the library; see it as an opinionated view of what is required to get started. We will also go through a short demo that will help you understand how they work and take away the magic behind them.

Starter POMs
06:52

How to create executable JARs and how to run them. We will also discuss the concept of Make JAR not WAR

http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started-first-application-executable-jar

Creating Executable JARs
08:33

In this lecture we will look at two tools that will help us speed up our development time on our project. We will look at how to bring them into our Spring Boot project and how to use them.

Spring DevTools & Live Reload
09:01

In the previous exercise you built your first Spring Boot application from scratch. In this exercise we are going to take some of the tools and concepts we learned in the section and build a more full featured web application.

[Exercise] Building Your First Real World Application
00:20
+
Spring Boot Fundamentals
8 Lectures 01:11:11

In the introduction we heard the idea of dependency injection and Spring beans. In this section we are going to start off by looking into those key concepts and how they work. Next we are going to jump into configuration in Spring Boot and at the center of Spring Boots magic is Auto Configuration. This is a very important concept so lets take some time to understand it.

Spring Boot Fundamentals Introduction
01:06

In this lecture we will cover the basics of what a spring bean and how to create / manage them. We will also discuss what Dependency Injection is and look at a few of the options for injecting our dependencies into our classes.

Spring Beans & Dependency Injection
08:56

This is a coding demo of what we learned in the last lecture. We will take our knowledge of Spring beans and Dependency Injection and put them to use.

Spring Beans & Dependency Injection Demo
14:13

Understanding both of these fundamental concepts in Spring is very important.

Spring Beans & Dependency Injection
3 questions

In this lecture we will talk about how to configure you application using properties files and YAML configuration. We will also take a look at the chain of command when it comes to loading configuration and property sources take precedence. Finally we will look at a demo that should tie all of this together for you.

Application Properties & YAML Configuration
16:01

In this lecture we will look at the @ConfigureProperties annotation. This allows us to easily map configuration to our POJOs.

Configuration Properties
07:51

In this section we will talk about Spring Profiles. Profiles are an easy way for you to load environment specific properties. We will take a look at how to activate a profile and the @Profile annotation works on Spring Beans.

Profiles
11:13

In this lecture we are going to talk about Auto Configuration. This is an important concept to learn because a lot of Spring Boots simplicity exists because of this feature. There really is 2 parts to this auto configuration story. Understanding what it is and how it works and then writing your own auto configuration classes. This is more of introduction course so I am not going to cover creating your own but once you have a basic understanding of this concept you should be able to find some information out there and write your own.

Auto Configuration
11:07

We just talked a whole lot about configuration. Lets just make sure you were paying attention.

Configuration
7 questions

We are going to create a simple project that covers some of the key concepts we learned in this section.

Spring Core Fundamentals Exercise
00:44
+
Developing Web Applications
12 Lectures 01:43:10

In this section we are going to dive into Spring MVC. Spring MVC (Model/View/Controller) is one of the most popular frameworks around. 

Developing Web Applications Intro
01:00

In this lecture we are going to get a basic introduction to what Spring MVC is. This framework allows us to easily build out web applications.

Spring MVC Intro
08:55

In this demo we are going to create a very basic web application using Spring Boot. I am going to talk about the demo application we are going to use in this section. We will create the application and then talk about what makes up a basic web application.

Web Application Demo
10:32

Spring MVC is one of the most popular web frameworks around. Time to make sure we understand some of the key concepts of the web.

Developing Web Applications
5 questions

In this lecture we are going to demo creating a web application and adding static content to it.

Static Content
11:26

In this demo we are going to look at Bower. Web sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.

Bower
05:54

A quick overview of what a Template engine is and what options are available to us.

Template Engines
01:17

In this lecture we will take a look at the Thymeleaf Template Engine. We will look at what it is and what it has to offer. We will also go into a demo where we show off the true power behind a natural template engine.

Thymeleaf Demo
19:52

In this lecture we will take a look at using Groovy Server Pages (GSP) for our template engine. We will talk briefly about what GSP is and what it offers us and then take a look at a quick demo to see how it works.

GSP Demo
11:35

We are going to recap some of the information we learned on static content and the view layer.

Static Content & The View Layer
5 questions

In this lecture we take a look at adding Internationalization (i18n) to your applications.

Internationalization (i18n)
07:05

In this lecture we are going to discuss error handling. We are going to walk through what happens when you hit an error by default and then learn about how we can customize that experience for your users.

Error Handling
14:52

In this lecture we will take a look at how to handle exceptions in your controllers.

Exception Handling
09:56

In this exercise we are going to use the information we learned in this section to create a web application.

[Exercise] Creating a web application
00:46
+
Data Access with Spring Boot
12 Lectures 01:59:03

A quick introduction to what we are going to cover in Data Access with Spring Boot.

Data Access Introduction
00:42

In this lecture we are going to create a new application that includes the H2 database dependency and take a look at how we can access the management console.

Creating an Application using H2's in-memory database
03:46

In this lecture we are going to learn how to create entities and repositories. Entities are the objects that map back to our database and repositories expose the methods needed to interact with that data. This really is just an intro to JPA and if Hibernate or JPA are new to you then please do some reading up on them.

Creating Entities & Repositories
17:24

In this quiz we are going to cover some of the data access features we looked at in the previous lectures.

H2 In-memory & JPA Quiz
9 questions

In this lecture we will look at some ways we can load data into our application. This isn't really a production feature but if we are just trying to stand up a quick application and need some data in there these 2 approaches will work just great.

Loading Data
10:47

In a previous lecture I told you that creating everything in the main application class wasn't a good practice. In this lecture we are going to refactor our application a little bit and move things to were they should be. We will also look at how to create a dynamic query for a specific use case that comes up in our refactor.

Refactor
10:55

We are going to continue refactoring some code on our sample blog application. In this demo we will move some of our page design to a layout and see how that works in Thymeleaf. We will also create some routes for our post list and view templates and look at creating a couple more dynamic queries.

Refactor Blog Part 2
11:23

In this demo we are going to look at the scenario where we need our production database to be different than our development database. We are going to connect to a hosted SQL server running on Azure.

Production Database
09:48

In the past few lectures we have been talking to a relational database using JPA. In some scenarios JPA can be kind of heavy and we may just want a lightweight way to talk to our database. JDBC Template gives us that and in this lecture we will take a look at what it can do. We are going to refactor our blog application to use JDBC Template instead of JPA.

Spring Data JDBC
08:46

Throughout all of our demos we have been using an H2 in-memory database. When we are done with development and we are ready to move to a production ready database what do we do. In this lecture we will answer those questions and walk through a demo of connecting to a SQL Server database on Azure.

NoSQL - MongoDB
11:04

In this exercise you are going to create an application and use some of the lessons we learned in this section.

[Exercise] Data Access with JPA & h2 Exercise
01:05

We are using Spring Data JPA in this course and when you extend the CRUD Repository you get a few methods out of the box such as

  • save
  • findOne
  • findAll
  • count
  • exists
  • delete
  • deleteAll

What happens when you want to start creating custom queries though? In this lecture we will look at that exact scenario.

Spring Data JPA - Creating Queries Part 1
16:21

This builds on the 1st part of this lecture. We continue to build out custom methods and even look at the Query annotation in this tutorial.

Spring Data JPA - Creating Queries Part 2
17:02
+
Security
7 Lectures 01:05:38

We are going to cover the basics of the Spring Security Framework in this section. Security is a very important subject and it's critical that we understand how to implement it. 

Security Introduction
00:49

In this lecture we will start our adventure into Security. We will talk about what Spring Security gives us out of the box and then look at a basic demo. We can see that while this is really easy to get up and running and use basic auth right out of the box its not very practical. In future lectures we are going to look at customizing Spring Security.

Spring Security Intro
07:39

In the last lecture we look at what Spring Security gives us out of the box. While it was easy to get up and running it wasn't very practical. In this lesson we will start to look at how we can customize what Spring Security gives us out of the box. We will look at using form based logins as well as enabling method level based security.

Spring Security - Custom Configuration Part 1
11:31

In this lecture we continue down the road of customizing the out of the box security framework to fit our application needs. We are going to remove the single default user and learn how to setup some in memory users with different roles. We are also going to learn how to customize our security policy.

Spring Security - Custom Configuration Part 2
09:52

Some basic questions about Spring Security

Spring Security Basics
6 questions

In this lecture we will look at creating our own custom login form. We will look at what do we need to do on the configuration side to make this happen. We will also dig into the Thymeleaf Spring Security Dialect and look at how that can offer some view helpers for our templates and layouts.

Spring Security Custom Login Form
15:20

As we continue to customize our Spring Security settings we are going to use JPA and persist our users to a database.

Spring Security & JPA
19:38

We are going to build an application that uses Spring Security.

[Exercise] Securing you application
00:49
+
Building REST APIs
11 Lectures 01:15:28

In this lesson we are going to lay the groundwork for what is to come in this section. We will discuss everything from Http Request methods, status codes and content negotiation.

REST API Intro
01:42

In this lecture we are going to learn what HTTP verbs are and how they play a role in building web APIs

HTTP Request Methods (Verbs)
04:25

In this lecture we are going to learn about HTTP status codes. We will look at what they are and some of the more common status codes that we might get back from a request.

HTTP Status Codes
04:08

Content negotiation is a mechanism defined in the HTTP specification that makes it possible to serve different versions of a document (or more generally, a resource representation) at the same URI, so that user agents can specify which version fit their capabilities the best.
Content Negotiation
01:50

When building REST APIs we need a way to test them. In this lecture we are going to look at 2 different tools we can use to test our REST APIs

HTTP Clients
06:29

Now that we understand a few of the different parts that go into building a REST API its time to build our own. We are going to walk through building a Post Controller to handle CRUD (create/read/update/delete) and a list method. All of these methods will be REST endpoints and we walk through how to create and consume them.

Building A REST API
16:04

I agree that slides can be pretty boring but the information we just covered is pretty important for building REST APIs. I just have a couple of questions so that we can review what we just learned.
REST Components
5 questions

In the last lecture we built out our first REST API. This was a very basic CRUD API but it works. The problem with it was though that it only works when everything goes ok What happens when we send bad data and we want to let the calling client know more about what went wrong. In this lecture we will look at that exact scenario and how we can handle it.

Error Handling
09:58

In this lecture we going to cover the basics of Spring Data Rest and hypermedia. We are going to look at the problem with creating our REST resources by hand and how Spring Data Rest can help solve that issue. We will demo all of this in the next lecture but for now I just wanted to give you a quick background on what it is.

Hypermedia
06:41

In this lecture we are going to work on a Spring Data Rest Demo. We will start with a basic application and build out our REST endpoints using Spring Data Rest. We will also look at some examples of paging and sorting, changing the resource path and finally projections. We will end this demo with a simple tutorial of what the HAL Browser gives us out of the box.

Hypermedia Demo
16:20

We have had a lot of discussions in this section about building APIs but very little about consuming them. In this lecture we will look at using the RestTemplate class to consume APIs and convert them to objects on our end.

REST Template
06:45

In this exercise we are going to build our own REST API

[Exercise] Building a REST API
01:06
+
CRUD
7 Lectures 58:27

In this lecture we are going to walk through the starter code. We are going to use this as our base application for our CRUD application.

CRUD Starter
08:30

In this lecture we are going to take the first logical step in creating our CRUD application. Before we can do anything else we need to be able to list multiple records and view a single record.

Preview 15:29

Now that we have the ability to list our posts and show a single post we need to be able to create one. We will look at creating a new post, showing the entry form and then saving the post object.

Create
12:39

In the last section we looked at creating a new post record. In the example we looked at we showed what happens when everything goes great. This isn't always the case as we know and we need to guard against users entering bad data. We will look at how we can validate our post entry form from the last example.

Validation
12:08

Now that we can create a record we need the ability to update one. This is pretty similar to creating and we will reuse the form we used in the create example.

Update
04:00

To wrap things up we need the ability to delete posts. We will also look at what flash attributes are and how we can use them to notify the user that a post has been deleted.

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/support/RedirectAttributes.html

Preview 05:22

In this exercise we are going to build on the CRUD application we used in this section. We walked through on how create / read / update / delete for the posts domain object. Take the knowledge and do the following for the Author domain object.

Exercise

  • Create an Admin Author Controller
  • List Authors / Show Authors
  • Create Author
  • Add Validation
  • Update Author
  • Delete Author

Bonus

  • How can we display the number of posts each author has created.
  • If we delete an author what happens to their posts?
[Exercise] Building a CRUD Application
00:19
+
Guides
5 Lectures 35:31

There is just so much information to cover that we couldn't get to in this course. I didn't want to leaving you hanging though when it comes to questions like "How do I do x?". So I thought I would lean on what the Spring Guides section already started. My plan is to add different guides to this section as needed. If you have a guide you would like to see added please let me know.

Spring Guides -http://spring.io/guides

Whatever you're building, these guides are designed to get you productive as quickly as possible – using the latest Spring project releases and techniques as recommended by the Spring team.

Guides Intro
01:16

In this guide we are going to look at how to send email using Spring Boot. The Spring Framework provides an easy abstraction for sending email using the JavaMailSender interface and Spring Boot provides auto-configuration for it as well as a starter module. If spring.mail.host and the relevant libraries (as defined by spring-boot-starter-mail) are available, a default JavaMailSender is created if none exists.

Sending Email
13:39

In this guide we will look at scheduling tasks. We are going to use one of the getting started guides from http://spring.io/guides and walk through setting up a new project that uses scheduled tasks.

Scheduling Tasks
09:58

There are some great resources that will be of great help along your journey into the Spring Framework and Spring Boot. I am going to list the ones I find helpful and try to update this when I find more.
Spring Boot Resources
00:33

In this tutorial we are going to look at project lombok. Project Lombok is a Java library that is going to help us reduce a lot of the boilerplate code that we write when it comes to domain objects or data classes. 

Project Lombok
10:05
1 More Section
About the Instructor
Dan Vega
4.3 Average rating
3,151 Reviews
23,774 Students
4 Courses
Software Engineer

Hi, I’m Dan Vega. I am a Software Engineer living just outside of one of my favorite places in the world, Cleveland, Ohio I am a self-taught programmer who firmly believes that you can accomplish anything in this life if you put your mind to it, roll up your sleeves and are willing to put in the work.

I have been writing software for over 16+ years now and I use my knowledge, passion, and influence to help other developers achieve their goals. I teach online and currently, have over 16,000 students.

When I am not writing software I have a number of things that really keep me busy. I love to read books, listen to podcasts and watch online courses. I have a real thirst for knowledge and it consumes me every single day of the week. I also love to run & lift heavy weights which keep me balanced throughout the week.