Spring Boot 2 Fundamentals
0.0 (0 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.
18 students enrolled

Spring Boot 2 Fundamentals

Learn to quickly build and deploy production-ready microservices within the Java and JVM ecosystem
0.0 (0 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.
18 students enrolled
Created by Packt Publishing
Last updated 5/2019
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 1 downloadable resource
  • 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
  • Create your own Spring Boot 2 application from scratch
  • Write comprehensive unit tests for your applications
  • Learn how to store data in a relational database
  • Create your own RESTful API with Spring Boot 2
  • Create a rich web interface for your applications
  • Secure your application with Spring Security
Course content
Expand all 52 lectures 06:42:28
+ The Spring Project and Framework
8 lectures 45:30

Let us begin the course and see the lessons and concepts that will be covered. We will also understand the advantages of taking this course. The GitHub link for this course is: https://github.com/TrainingByPackt/Spring-Boot-2-Fundamentals-eLearning

Preview 03:08

In this section, you will learn how to install and set up the Spring Boot environment. Let us install the following tools:

  • Install the JDK

  • Install IntelliJ

  • Install Maven 3.3+

  • GitHub link: https://github.com/TrainingByPackt/Spring-Boot-2-Fundamentals-eLearning

Installation and Setup
04:42

Let us start with Introduction lesson of the Spring Project and Framework. We shall also learn the different topics covered in the lesson along with the learning objectives.

Lesson Overview
00:50

In this topic, we will look at an overview of the Spring project itself and will be introduced to the basic building blocks of a Spring application. We are going to learn about the history of the Spring Framework, the key principles that Spring focuses on, and Dependency Injection and Inversion of Control. Lastly, we will examine the Spring ecosystem.

Introduction to the Spring Framework
14:00

Let us now learn to create the first Spring Boot project in this topic by using the Spring project generator called Spring Initializr. Then, we will have a look at the generated code and start the application for the first time.

Bootstrapping
06:06

Let us explore the building blocks of Spring, how they are discovered by Spring, and how we can define them by hand, if necessary.

The Application Context
09:03

Finally, in this topic, we will recognize some of the boilerplate code in Java and define where Project Lombok helps us. This is a Java library that improves our Java by automatically plugging into our editor to build tools.

Additional Tools – Project Lombok
07:04

This video summarizes your learning of this lesson.

Lesson Summary
00:37
Test Your Knowledge
7 questions
+ Building a Spring Application
4 lectures 42:23

In this lesson, we will learn how to interact with Spring Beans and how to configure our Spring context. This is the foundation that every Spring application is built on. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 00:55

Let us begin with the topic where we learn how you can inject Spring Beans into other Beans and how we can help Spring in cases where the injector is not uniquely identifiable.

Dependency Injection in Spring
21:02

We will then look at how to configure our applications with profiles and configuration files. Let us look at the video to learn the topic in further detail.

Configuration of Spring Boot Applications
19:59

This video summarizes your learning of this lesson.

Lesson Summary
00:27
Test Your Knowledge
6 questions
+ Testing Spring Applications
4 lectures 20:22

Let us now learn about different ways to test Spring applications. This lesson will focus on unit tests and how they are different than the other test types. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 00:35

In this topic, we will learn how you can test the classes of your application as regular classes or with some Spring support for wiring dependencies.

Applying Unit Tests
12:24

Let us experience the simplicity and the speed of unit tests and the expressiveness and power of integration tests. Let us look at it in further detail.

Integration Tests
07:01

This video summarizes your learning of this lesson.

Lesson Summary
00:22
Test Your Knowledge
6 questions
+ The MVC Pattern
6 lectures 40:57

Let us now learn how to build a web-based application in Spring that uses web pages to interact with the user. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 01:27

Let us begin with the Model-View-Controller (MVC) pattern. It separates the main concerns of a web application into a model, a view, and a controller. Let us learn it in more detail.

Introducing the MVC Pattern
06:51

We then learn to distinguish between a request- and a component-based MVC, which differs in how the framework handles incoming requests by either taking care of conversion, validation, and so let us further learn about it.

Spring Web MVC Basics
13:51

The developer can also handle the aspects of conversion and validation which requires a different code reusability. Let us understand it in this topic.

The Embedded Web Server and Spring DispatcherServlet
10:08

In this final topic, we will learn to implement our first Spring Web MVC application, to handle incoming requests and display a simple page output.

Spring Web MVC Controller
07:55

This video summarizes your learning of this lesson.

Lesson Summary
00:45
Test Your Knowledge
7 questions
+ Displaying Information Using Web Pages
5 lectures 38:04

In this lesson, let us learn how to display information that has been made available from the controller as model attributes in a view. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 01:30

In this section, we will learn about the Thymeleaf template engine and look at how to add the required dependency to our project and the basic syntax to write view templates.

HTML Templating with Thymeleaf
15:24

Now, let us look at how Spring MVC handles the model and how to add attributes to it. Adding and accessing attributes is similar to a Java Map

Displaying Data Using a Model and Data Binding
12:38

In the last section, we will look at expressions and control statements that Thymeleaf uses to insert data from the model, iterate through lists, and conditionally display parts of the page.

Passing Attributes to a Redirected View
07:43

This video summarizes your learning of this lesson.

Lesson Summary
00:49
Test Your Knowledge
4 questions
+ Passing Data Between the View and the Controller
5 lectures 36:41

In this lesson, we will learn about creating HTML forms for data acquisition. Once the data is acquired, we will then examine it. Lastly, we will examine the types of fields used to store the data. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 01:04

HTML offers a construct called forms to allow the update or the input of data. Let’s understand it in more detail in this topic

Form Handling
20:06

Let us learn about adding validation messages in templates which includes setting a new default message for a validator, setting the message for a bean property, and providing translation for messages.

Adding Validation Messages to Templates
03:44

This topic will enable us to use the different types of input fields that are part of HTML with the Thymeleaf template engine. These values of the fields need to be bound to the attributes of the model to be processed by the controller. Let’s learn it in detail.

Form Input Types and Value Binding
11:00

This video summarizes your learning of this lesson.

Lesson Summary
00:47
Test Your Knowledge
4 questions
+ RESTful APIs
6 lectures 54:48

This lesson built straight on top of the concepts of the previous lessons, expanding your mastery of Spring MVC controllers to different responses. This is flexible enough to return any kind of data but is particularly suited to serve REST APIs. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 01:05

REST APIs are the backbone of communication services. They are what modern distributed cloud-based applications work through. Let us understand and work towards it in more detail.

What is a RESTful API?
18:04

We will now look at REST Controllers in Spring and how to implement all the REST-guiding principles that we introduced previously. These advanced elements are not REST-specific and can sometimes become useful in a normal Spring MVC context, but they are indispensable for implementing REST controllers. Let us learn about it in detail.

REST Controllers in Spring
13:34

Let us now learn about HATEOAS that is used to gives the server and client much more flexibility. We will further learn about extending an application with Spring HATEOAS.

Hypermedia with Spring Boot
11:35

Let us learn some exercise on the concepts of REST application, consuming different content types, and understanding the use and implementation of HATEOAS.

Responding to the Rest-intro Application and HATEOAS Introduction
09:47

This video summarizes your learning of this lesson.

Lesson Summary
00:43
Test Your Knowledge
7 questions
+ Web Application Security
7 lectures 01:05:48

Let us look at many aspects of security, particularly those that you, as a software developer, should have on your agenda. We shall also learn the different topics covered in the lesson along with the learning objectives.

Preview 00:39

In this topic, we get introduced to the importance of securing the web application, understand the concept of RESTful APIs, the threats to web application, Insecure Deserialization, allowing access to resources, and finally, learn about Authentication and Authorization.

Securing Your Web Application
15:28

Let us move on to Spring Security and its defaults with understanding how to secure web browsing in a session with some exercises.

Spring Security
15:25

Let us now understand the concept of explicit configuration, security configuration entry point, adding hardcoded users with exercises on web security.

Explicit Configuration
11:35

Let us get introduced to method-level security, roles allowed in it, security controllers, and learn about beyond access. We will also look at the security context, password encoders, real repositories, and cross-site request forgery.

Method-Level Security
11:10

Finally, we see some exercises on testing security aspects with a real user repository, and cross-origin resource sharing (CORS).

Testing Security Aspects
10:39

This video summarizes your learning of this lesson.

Lesson Summary
00:52
Test Your Knowledge
6 questions
+ Persisting Data Using a Database
7 lectures 57:55

In this lesson, we will look at choosing a database management system. The choice of systems depends on various factors, such as visualization and reporting, security, scalability, and cost, to name a few. There are also various kinds of databases, and one of them is the relational database. We shall then learn the different topics covered in the lesson along with the learning objectives.

Preview 01:04

Let us first get a brief introduction of relational databases, the workhorses of the industry. Spring makes it easy to access those databases.

Relational Databases and SQL
13:41

Now, let us learn about JDBC which the low-level access API to the database is. Let us understand about JDBC examples and other concepts in further detail.

Accessing the Database from Java with JDBC and Jdbc Template
11:18

Let us begin this section with the exercises on advances queries and returning structured data along with mapping rows and learning about CRUD operations.

Working on Advanced Queries and Returning Structured Data
14:23

Let us now look at Schema Updates, database migrations with Flyway, and utilizing Flyway.

Schema Updates
10:40

Let us have a final look at into some advanced topics that are otherwise outside the scope of this course.

Outlook – Advanced Database Support
04:33

This video summarizes your learning of this lesson.

Lesson Summary
02:16
Test Your Knowledge
7 questions
Requirements
  • You should have at least basic Java knowledge and know how to compile an application with a given POM file with Maven. You don’t need to be an HTML expert, but you should know how HTML works and how you can keep a file XML/XHTML compliant.
Description

You will begin the Spring Boot 2 Fundamentals course by learning how to write and test simple code using the Spring Framework and then use this skill to learn advanced concepts, such as creating an HTML-based frontend with dynamic data and HTML forms. Then, you will create a simple, working, web interface to display blog posts, list all articles, and create and edit blog articles. You will learn to work with the REST API functionality that Spring Boot 2 offers and secure your blogging application. At the end of the course, you will learn how to persist your blog posts in a database, bringing everything together as a full web application with the complete functionality of a professional solution.

About the Author

Patrick Cornelißen is a software developer at heart, and the founder and CEO of orchit GmbH and kulinariWeb GmbH. He has written a number of applications in various languages and platforms and specializes in micro-service-based applications and the transition of monolithic applications to micro-services. He started using the Spring Framework in 2009 and has been a big fan ever since. After his family, software craftsmanship is one of his passions, which he pursues whenever he has some spare time. For this, he has organized example code retreats and open space conferences in the past. He likes learning about new things in the field of (agile) software development as much as he likes teaching.

Michael Piefel earned his fist salary in a programming job over 20 years ago – working in Pascal. After a number of years working with C and C++, he finally moved to Java in 2005. He has been using the Spring Framework since 2011 and Spring Boot since 2016. He used to be an instructor at the Humboldt University of Berlin (and still likes to share his knowledge) but is a full-time software engineer nowadays.

Alexander Sparkowsky has been a passionate software developer since the 1980s. He started building embedded systems during his college years, using Assembler and the C programming language. During his studies in the 1990s, he became very interested in the Java programming language. Since then, he has been developing full-stack applications in various languages and for multiple platforms, his main focus being on Java EE in the beginning. Eventually, he discovered the Spring Framework, and later Spring Boot, which became his favorite platform. Recently, he started using Kotlin, which makes developing modern micro-services even more fun. He enjoys learning and teaching new technology. When working in teams, he is a big fan of agile software development.

Shai Almog has hands-on, successful Software Engineer/Architect/Entrepreneur/Author with decades of verifiable success leading teams in delivering appropriate technology solutions full stack on mobile, server and desktop. He is a leader who takes initiative and can follow every single step of product development. Shai is a major open source contributor who led key global projects around the world in his 25 year professional career. Shai worked in most major industries from gaming to banking/insurance, development tools, cellular, networking, medical etc. He has managed and developed projects for widely distributed desktop and mobile applications as well as server applications for mission critical deployments. Shai designed and deployed complex cloud backends using a wide array of technologies/architectures from Spring Boot to App Engine to AWS and serverless/micro-service paradigms. Shai is a highly rated lecturer in conventions and instructor specializing in hands on mentoring.

Who this course is for:
  • This is an ideal course for you if you want to create modern web-applications or RESTful services with Java.