Building An E-Commerce Store Using Java Spring Framework

Hands-on experience with Spring MVC, Spring Data, Hibernate, JPA, Spring Security, Spring Webflow and more
4.1 (372 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.
1,725 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 61
  • Length 14.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English

Course Description

This is the Only course on Udemy that covers so much with Spring Framework web development. You won't find any other Spring Framework course covering practical stuff like this. 

Let's face it. Understanding theory is definitely not enough and understanding theory in pieces is even more harmful. This course connects dots of various perspectives of Web App development from frontend to backend. 

Bonus Section includes all the courses that I teach and promotions. Make sure you don't miss them.

Join the family of thousands of students, who have enrolled in my courses.


Motivation

When I was learning Java and Spring Framework, I wish there was a course covering the hands-on experience to build a sophisticated and representative website, which utilizes the core features of Spring Framework. There are just plenty of books and tutorials to cover the Spring theory part, while some of them do give good examples on each topic, but I just couldn't find one to tell you how to put them together to build a full application. This course is trying to fill that hole, that is to give you comprehensive hands-on experience and guide you to stack them up to build something.

Course Features:

- You will follow the course to build an Online Music Store from Scratch

- You will be writing code with me along the course.

- We will use Spring MVC, Spring Data, Spring Security, Spring REST, Spring Web Flow, Hibernate, Angular JS, JSP, Bootstrap, H2 Database and more.


The course outline is below:

Section 1 is course intro and website demo.

Section 2 is about getting prepared, which includes environment setup, MVC concept and Hello Spring Demo. With this section finished, you will have a brief idea on what Spring Framework development looks like.

Section 3 starts to dive in building our project. Bootstrap is used as a template to quickly generate the front-end view. Then you will start to add domain models to your project. You will see how model, view and controllers are actually wired up. You will also learn how to make the view page dynamic with those model data.

Section 4 starts to look at data persistence. You will learn what ORM is and why we need it. We will use Spring Data to integrate with Hibernate and JPA to persist model data into database. We'll also look at how to add image with domain model and how to validate model attribute when updating its content.

Section 5 will deal with Spring Security. We will see how to use Spring Security to intercept sensitive url request and how to validate its credentials from database information. We'll also add more domain models into system and use in-memory data to prototype shopping cart functionality.

Section 6 looks at the system with a higher level. A Music Store prototype architecture is presented and used as guidance for our development. You will learn how to use what we learned in the previous lessons to make the online system more sophisticated. REST service API is developed with Spring and Angular JS is used to consume those APIs.

Section 7 shows how to use Spring Webflow to develop flow-oriented web process, specifically order checkout here. We will learn how we can configure Spring Webflow to put view pages and business logic together.

Furthermore, source code is attached with lessons (most of the time in video part 1) and exercise included as well.


MONEY BACK GUARANTEE

Udemy provides 30-day money back guarantee. No reason needed! If you are not satisfied with the course, you can always get your money back. No Risk Involved! So sign up and I'll see you in the course!


What are the requirements?

  • You need to have some sort of basic Java, Javascript, Spring Framework, Angular JS
  • If you don't, you can still do it, but learn whatever you don't understand yourself on the way. Actually, I kind of like this way, as it pushes you to learn and learn with a purpose.

What am I going to get from this course?

  • Use Spring MVC to implement MVC framework
  • Use Bootstrap to quickly develop front-end view
  • Develop domain classes to model the business entities
  • Upload static resources such as images with the application
  • Use Spring Data to integrate with Hibernate and JPA to persist model objects
  • Use Spring Data, Hibernate or JPA for data validation
  • Use Spring Security for login control
  • Develop REST service APIs with Spring Framework
  • Use Angular JS to consume REST services
  • Use Spring Webflow to develop flow oriented web process, such as order checkout

What is the target audience?

  • Whoever is interested in Spring Framework
  • Whoever wants hands on experience with Spring Framework
  • Whoever wants to build a sophisticated website with Spring Framework

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Intro
About IDE, if you are concerned
Preview
Article
Course Intro
Preview
03:26
07:02

This will quickly show you the features of our Music Store website so that you have an idea on what things we will be building.

Section 2: Setup and Demo
08:44

This lesson talks about Java JDK, Tomcat and IDE setup. Intellij is the recommended IDE in this course.

08:10

What is MVC pattern and how does Spring MVC framework look like. This lesson shows some high level concepts.

20:06

Here we get hands on practice to see how the MVC framework work with a quick Hello Spring demo.

Hello Spring Demo using Spring MVC - Part 2
12:58
Hello Spring Demo Using Eclipse
19:34
Exercies
2 pages
Section 3: Online Music Store Website Part 1 - Landing Page, Product Model and Product List
11:29

In this lesson, I will show you how to quickly adapt a template page from Twitter Bootstrap front-end framework to build the landing page of our Online Music Store.

13:27

From this lesson, we start to look at how to use Intellij to create a maven project and then integrate the landing page to it.

Add the Landing Page to IDE - Part 2
13:24
17:39

Domain model is a POJO (plain-old-java-object) that contains the basic information of object entity in the business model. It consists of private field attributes and public getters and setters. In this lesson, we will learn how to develop a domain model to represent the information of a product in our Music Store.

21:13

This lessons shows how to quickly adapt Bootstrap Table component to build the product list table.

15:33

Header and Footer sections in the html are usually stripped out so that they can be maintained in one place. This tutorial shows how to using common template across different views. Also, a product detail page is added.

21:09

This lessons shows how to make the view pages dynamic to reflect the product data, which are accessed through business Model(M) and passed to the View(V) through controller(C).

Exercies
2 pages
Section 4: Online Music Store Website Part 2 - Spring Data with ORM, Hibernate and JPA
07:08

What is ORM and why do we need it?

20:56

Writing pure JDBC code involves tedious repeated work. With the help of Hibernate, domain models are mapped automatically. Spring Hibernate integrates well with Hibernate and JPA to persist data into database. This course shows how to add the persistence layer into our system.

Add Database Function with Spring Hibernate and Java Persistence - Part 2
21:42
18:37

In this lesson, we will add the function of adding product. An admin can choose to add a product with its information and the newly added product will be persisted in database.

Develop Add-Product Function - Part 2
19:33
19:29

Product image is stored on server instead of database, so it is treated separately here. This lesson will show you how to upload an image and bind it with added product.

Add Product Image - Part 2
19:18
12:40

A edit product information function is added.

Add Update-Product Function - Part 2
15:09
16:51

We will change some of the layout of our pages. This includes adding carousel background images, change navi-bar content and etc.

08:31

This lesson shows how to add server-side data validation when adding a product. Validation is a complex topic and in most of the time, it involves front-end javascript validation and back-end data validation. This lessons focus on the latter part.

Exercises
2 pages
Section 5: Online Music Store Website Part 3 - Spring Security, Shopping Cart Functionality
19:26

In this lesson, we are adding login control to our system. With Spring Security, the process becomes much easier.

Spring Security - Part 2
17:14
22:24

This is the first part for adding shopping cart functionality. We'll start to add more domain models and data access objects into our system.

Shopping Cart - Part 2
18:33
Shopping Cart - Part 3
15:49
Shopping Cart - Part 4
19:50
Shopping Cart - Part 5
18:50
Exercises
3 pages
Section 6: Online Music Store Website Part 4 - Developing a More Sophisticated System
07:56

A feasible architecture and design will prevent software project failure. The two diagrams we see in this lesson will give an overview on the whole system.

17:42

In this lessons, domain models are re-designed and added to the system.

Adding Various Models - Part 2
16:33
18:17

In our online Music Store, admin privilege is required to add, update, edit products. The two-part lesson will show you how to integrate that function into our system.

Product Admin Control - Part 2
12:28
Product Admin Control - Part 3
13:21
Product Admin Control - Part 4
15:27
21:07

In this lesson, we add a function to let guest user to register an account so that each time, he can login and checkout products.

Customer Registration - Part 2
22:43
10:50

The cart business logic takes care of adding and removing products, whose functions are provided through Cart REST services. Furthermore, Angular JS is used to consume the REST APIs. This lesson develop a cart controller for REST service control initialization.

Cart Controller - Part 2
13:50
19:02

This is the first part developing RESTful Cart Services.

Cart REST Services - Part 2
13:45
20:31

This is the second part developing RESTful Cart Services.

Section 7: Online Music Store Website Part 5 - Order Checkout - Spring Web Flow
12:13

This lessons add customer order model, which are used for customer to checkout shopping cart.

23:24

Spring Web Flow is a framework used to develop web flow functionalities. We will use it to develop our checkout work flow. This lesson introduces Spring Web Flow configuration.

19:58

Web flow consists of different view pages. This lesson will add those pages.

Add Web Flow Pages - Part 2
20:08
13:38

This lesson adds view customer list functions with admin privilege. Also, customer registration validation is described.

Add Data Table
14:19
Finish Adding Data Table and Add Contact
19:28
Exercises
Article
Section 8: Get This Exercise Done
1 page

See this letter

Section 9: Bonus Section
All Other Courses and Coupons
2 pages

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Le Deng, Software Consultant, 9 Courses + Thousands of Students

Le Deng was first exposed to programming when he was at elementary school and his first language was Logo, a 2D drawing programming language. He received his BS in Electrical Engineering in China and his MS in Electrical Engineering at RIT in US. He has been both a learner and a teacher through the course. In the past few years, he has been interested in web technologies and working on his own path to become an entrepreneur. He’s life philosophy is to contribute a hand on better shaping this world and he is willing to spend just a life-time to fulfill it.

Ready to start learning?
Take This Course