Learn Spring Boot - Rapid Spring Application Development
- 11 hours on-demand video
- 12 articles
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Create Spring MVC Applications
- Connect to databases using Spring Data
- Secure your applications using Spring Security
- Create an executable JAR of your application
- Build REST Services in Spring Boot
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
- Building REST Services
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.
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.
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?
I have decided to create a Discord community. I have been giving this a lot of thought for the last few months and I am really excited about it. If you want to learn more about what Discord is, why I chose it as a platform and how it compares to something like Slack or Facebook Groups you can read the full article here.
Join my Discord Community: https://discord.gg/gx4Z8XY
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
What happens when you want to start creating custom queries though? In this lecture we will look at that exact scenario.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- Create an Admin Author Controller
- List Authors / Show Authors
- Create Author
- Add Validation
- Update Author
- Delete Author
- How can we display the number of posts each author has created.
- If we delete an author what happens to their posts?
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.
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.
- Students should be familiar with the Java programming language
- A computer that can run Java + IntelliJ or Eclipse
- Familiar with MVC will help but is not required.
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.
- 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.