Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Spring and Spring Boot Projects
Rating: 3.9 out of 5(35 ratings)
374 students

Learning Path: Spring and Spring Boot Projects

Learn how to build powerful and engaging applications in Java using the Spring and Spring Boot framework.
Last updated 7/2017
English

What you'll learn

  • Developing end-to-end interactive web application forms, web pages, and CRUD functionality
  • Writing new Spring MVC controllers and views
  • Creating a login page and validation for user registration
  • Building complex UIs in the context of an example application
  • Building a Java application from scratch using Spring Initializr
  • Incorporating client-server networking features and functionality
  • Securing the application

Course content

2 sections63 lectures7h 32m total length
  • Setting Up the Development Environment4:21

    We need an IDE and an application server to run the code that we will develop as we learn.

  • Writing Our First Spring MVC Application5:45

    We need to create a project to add code. After development, we need to be able to deploy and test our code.

  • Using the Startup Code7:56

    To build effective Spring MVC apps, we need business services that connect to the database. We'll use some built-in business services to help us get started.

  • Understanding the Model7:21

    We need to understand the methods and logic in the model artifact that we'll use for the Spring MVC project. We will also need to link it to the model's application context.

  • Calling the Model7:01

    We need to be able to access the methods of the model from the controller layer, make calls, and return results.

  • Writing a Controller9:04

    We need to write a new Spring MVC controller to map to a required URL and redirect to a JSP path.

  • Getting the User Input5:53

    The chocolate store web application needs the functionality to have users register themselves. The model has methods to do this. We need to make this functionality available in the web application.

  • Using Path Variables and Redirects7:38

    Currently, in the application, when the user enters their information and clicks on Save, they see a success message, but there is no way for them to check if the save operation did indeed work fine. You will create a profile view page that the user can access to view their profile, and a save command will be redirected to this profile page instead of a success message page.

  • Implementing Validation8:27

    You have implemented a user registration input form that lets users enter their data. But right now, you do not check if the input is valid data. What if the user enters an invalid e-mail or does not fill in some of the fields? To make sure that the user enters appropriate data, you will need to validate it after you receive it in the controller and before you save it to the database.

  • Adding the Update Functionality5:14

    Now that you have let the user create new profiles by using the Register page, and also to view their profile on the View page, next, you'll be providing them with the edit functionality.

  • Working with Multiple Entities6:02

    The Customer entity that you've used so far is what you'd call a "standalone" entity. You haven't really had to worry about relationships between entities so far. We'll now work with two entities that are related.

  • Implementing Themes5:56

    While we have made huge progress and have a web application on our hands that provides considerable functionality, it doesn't look very good. We will incorporate some styles, and better still, let users choose the styles or themes they want.

  • Implementing Internationalization5:47

    Currently, the chocolate store web application doesn't have a lot of options when it comes to languages. Everything is in English. If you'd like your application to be used by people across the globe, you'll need to provide support for multiple languages.

  • Working with Model Objects7:16

    In our chocolate store application, there is no way for users to browse for products that are sold on the web store. You'll add a category list display on the home page, and on the category page, and you'll show the products that belong to that category.

  • Understanding Data Binding7:32

    You'll be creating a search form that lets users search for products based on a couple of search criteria.

  • Writing Custom Validators7:13

    We will define a couple of search restrictions and validate the user input.

  • Handling Exceptions5:44

    The Spring chocolate store application has functionality to let users browse for products. However, if for some reason, a request fails, we should be able to provide a good experience to the user. A response in case of an error message should be a well-designed error page, with a brief description of the error and a way for the user to either retry or navigate back to the home page.

  • Implementing the Login Functionality6:39

    To enable purchases in the chocolate store application, you'll need to build the login functionality.

  • Implementing the Shopping Cart Functionality5:47

    We currently do not have a way for a user of the chocolate store application to shop for products and place an order. In this tutorial, you will implement a shopping cart feature that lets the users do this.

  • Implementing the Ordering Functionality6:43

    You've implemented a shopping cart in the session in the previous tutorial. The user can add items to the cart, but there is no way to view the contents. In this tutorial, you'll implement a cart URL that displays the cart contents, and you will also implement a "Place order" button that lets them order the contents of the cart.

  • Writing Custom Interceptors7:48

    The chocolate store application has a shopping cart functionality that's closely tied to the logged-in user. However, there's no way to stop an unauthenticated user from adding items to the cart and placing an order. In this video, you will write a SecurityInterceptor that allows only a logged-in user to access any functionality related to the shopping cart.

  • Integrating with Freemarker7:01

    In this video, you will publish a URL that shows a list of products in the store, with the view generated not by a JSP but by a Freemarker FTL file.

  • Integrating with Apache Tiles6:29

    How can we add common elements to every page in our application? An easy way is to use a tiling framework such as Apache Tiles, which is what we will look at in this video.

  • Working with Multiple Content Types9:03

    Let's say we have a requirement to render product information on our website in various different formats. Right now, you can enter the URL products/product/productid to view the product information in HTML. However, let's say we need to make this information available to the user in XML and JSON formats. What would be the best way to implement a feature like this?

  • Understanding RESTful Web Services6:37

    RESTful web services have gained in popularity over the years. It is widely considered by many to be an excellent alternative to the older SOAP web services specification. You'll implement a RESTful API for the Spring Chocolate store application.

  • Implementing Your First REST Endpoint6:20

    In sections 2 and 3, we saw how to display the product catalog information to the user as HTML that they can read in their browsers. When publishing the same information as RESTful web services, there are a few different factors that you need to account for.

  • Implementing CRUD APIs7:01

    In the previous tutorial, you wrote the category REST controller that lets clients get category information. We'll now see how to implement product information as well as place an order using Spring MVC's REST support.

  • Implementing Exception Handling and HATEOAS9:19

    The REST APIs do not have error handling yet. If there is any error, we get the tc Server error page as the response. For REST APIs, it is important that we provide non-HTML payloads as the response for both success and error scenarios.

Requirements

  • If you know Java and have a computer with an internet connection, then that’s all you need to get started!

Description

Have you often felt that when you create complex and robust applications the focus usually drifts from the functionality to the infrastructure?

This is where Spring MVC and Spring Boot come to the rescue. They are lightweight frameworks that will help you develop flexible and robust stand-alone applications without much hassle.

This Learning Path is designed to introduce you to advantages of having frameworks, such as Spring MVC and Spring Boot, while developing apps.

A Video Learning Path from Packt essentially contains multiple video courses that are logically tied together to provide you with a larger learning curve.

Let’s dig into what this Learning Path does. It gets you started with creating, deploying, and running a Spring MVC project using Spring Tool Suite and then moves onto building a Spring Boot application. It will also show you how to integrate model and business services based on an example of an online e-commerce chocolate store!  

Once you have gained hands-on experience with Spring MVC, the course will introduce Spring Boot. Then move on to learn Spring Boot by scaffolding an application and understanding different aspects of it. In addition to that, you will also learn to secure applications against malicious behavior.

After completing the course, you will be able to successfully create stand-alone, Spring-based applications using Java that work on multiple platforms!

About the Authors:

For this Learning Path, Packt has brought the works of two authors who are working very closely with Java, Spring, and Spring Boot.  

Koushik Kothagal has over 12 years of professional experience working with various server-side technologies and developing web applications. He has worked extensively with Java, Spring, Oracle, and other enterprise technologies. He loves teaching, and when he’s not coding Java, he’s probably teaching it! In his spare time, he runs the tutorial website Java Brains which covers various enterprise Java technologies.

Greg L. Turnquist has developed software professionally since 1997. From 2002 to 2010, he was part of the senior software team that worked on Harris' $3.5 billion FAA telco program, architecting mission-critical enterprise apps while managing a software team. He provided after-hours support to a nation-wide telco system and is no stranger to midnight failures and software triages. In 2010, he joined the SpringSource division of VMware, which was spun off into Pivotal in 2013.

Who this course is for:

  • If you are a Java application developer wanting to improve your skills of building applications using Spring and Spring Boot, then this Learning Path is for you.