Spring Framework 5: Beginner to Guru
4.7 (159 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,677 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Spring Framework 5: Beginner to Guru to your Wishlist.

Add to Wishlist

Spring Framework 5: Beginner to Guru

Learn Spring Framework 5 and Spring Boot 2 with the Most Modern and Comprehensive Spring Framework Course Available
4.7 (159 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,677 students enrolled
Created by John Thompson
Last updated 8/2017
English
English
Curiosity Sale
Current price: $10 Original price: $200 Discount: 95% off
30-Day Money-Back Guarantee
Includes:
  • 24.5 hours on-demand video
  • 7 Articles
  • 49 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn the Spring Framework from an instructor who has worked for Pivotal customers as a Spring Source consultant, and has spoken at Spring One
  • Learn step by step how to build applications using Spring Framework 5 and Spring Boot 2
  • You will be taught using best practices such as SOLID OOP, GitHub, Test Driven Development, and Continuous Integration Testing
  • You will understand how to access data using Hibernate 5 and Spring Data JPA
  • Build an end to end Reactive application with Spring Framework 5 and MongoDB
  • Learn About Reactive Programming with Spring Framework 5
  • Build web applications using Spring MVC
  • See how to run a Spring Boot application inside a Docker container
  • Get access to a Spring Boot Application Cookbook
View Curriculum
Requirements
  • Basic Java knowledge is required
  • HTML Knowledge is very helpful
  • Knowledge of SQL and databases is helpful
Description

This is the most modern and comprehensive course available for Spring Framework 5 and Spring Boot 2

All source code examples used in this course have been developed using the latest version of the Spring Framework - Spring Framework 5 and Spring Boot 2.

In this course, you will build multiple real world applications using Spring Framework 5. 

You will see how modern Spring Framework development is done by leveraging the features of Spring Boot 2. 

Jump In and Build a Spring MVC App with Spring Boot!

We'll jump right into web development with the Spring Framework. I'll show you how kick off a Spring Boot project by using the Spring Initializr. We will then go step by step to build a simple Book / Author web application. 

You will see how easy it is to use Spring Boot, Spring MVC, and Spring Data JPA to create a functional web application running under Tomcat with a H2 in-memory database.

Use Test Driven Development!

In addition to teaching you Spring Framework 5, you will learn about modern best practices used in enterprise application development. 

As we build the applications, you'll see me using Test Driven Development (TDD) with JUnit and Mockito.

Using Mockito mocks keeps your Spring Framework unit tests light and fast!

You'll also see how the Spring context can be used for more complex integration tests.

These techniques are best practices used by companies all over the world to build and manage large scale Spring Framework applications.

GitHub Source Code

You will have complete access to all source code examples used in the course.

In each lesson where we write code, you will have a link to GitHub with two branches in the Github repository. 

The first branch is the starting state of the code. 

The second branch is the ending state of the code. 

You can see exactly what changed in each lesson. Each step of the way, you have a working example you can use for troubleshooting.

In fact, you will get access to 15 (and growing!) different GitHub repositories - each packed with Spring Framework programming examples. 

And, you're encouraged to fork my GitHub repositories so you can share the Spring Framework applications, which you built, to future employers

Continuous Integration Builds

Since we are using GitHub and have great test coverage, I also show you how easy it is to set up Continuous Integration builds with CircleCI. 

Continuous Integration builds are another best practice used by enterprise developers. 

Using CircleCI makes your CI builds a snap!

Project Lombok

We all know Java development can require a lot of boiler plate code. It's just the nature of Java.

Would you like to see how to slash your boiler plate code using Project Lombok?

Spring Data JPA and Hibernate

Spring MVC and Hibernate have long been cornerstones of the Spring Framework. You will learn how to use Spring MVC, Spring Data JPA and Hibernate to build a real world web application. You'll learn about Hibernate configuration, and about the mapping of JPA entities. 

The Thymeleaf template engine is hugely popular with the Spring community. You will see how easy Spring Boot makes using Thymeleaf with Spring MVC.

While Bootstrap CSS is not a focus of the course, we will leverage Bootstrap CSS to make our web pages look awesome!

Spring MVC

Spring MVC has a lot of robust capabilities.

I start you off showing you how to build recipe application (using TDD, of course). 

Initially, it's all happy path development. We go back and add custom exception handling, form validation, and internationalization.

Reactive Programming

A big theme of Spring Framework 5 is Reactive Programming

Coming to the course in August 2017 are new sections on using the Spring Framework with MongoDB, and Spring Data Mongo. 

I'm adding MongoDB to the course so we can build a end to end reactive application using Reactive Streams with Spring Framework 5 and Reactor!

Coming Soon to the Course

I plan to add a lot more content to this course! 

I want this to be your go-to course for becoming a Spring Framework developer.

Coming soon to the course in 2017:

  • Building RESTFul APIs with Spring MVC and with Spring WebFlux (New in Spring Framework 5!)
  • Spring Security
  • Documenting your APIs with RestDoc and Swagger 2
  • Aspect Oriented Programming
  • Using Spring Events
  • Scheduling Tasks
  • Using JAXB
  • Mapstruct
  • Caching with eHcache
  • Spring JDBC (JDBC Template)
  • Spring RestTemplate
  • JMS Messaging
  • AMQP with RabbitMQ
  • Logging configuration for Logback and Log4J 2
  • And more real world Spring Framework apps!

Message me if there is a topic you'd like to see!

Spring Framework 5 GA Release

This Spring Framework course is so new, it has been developed using Spring Framework 5 'Release Candidate' releases.

Spring Framework 5 was expected to go GA (General Availability) in July of 2017. However, the GA release of Spring Framework 5 has been delayed until September of 2017.

The Spring Boot 2.0 GA release is expected to be in late 2017.

All source code examples will get updated as the GA releases of the Spring Framework and Spring Boot become available. 

Course Updates

  • August 1, 2017 - All source code examples updated to latest release of Spring Framework 5 and Spring Boot 2. Now on Spring Framework 5.0 RC3 and Spring Boot 2.0.0.M3.
  • August 8, 2017 - Added content for internationalization with Spring MVC. Added new section to course for using MySQL with Spring Boot / Spring MVC. Added CircleCI for CI builds. CodeCov (dot) io for test coverage reporting.
  • August 9th, 2017 - Added whole new section course on Spring Data MongoDB. Learn to build a web application using the best of the Spring Framework! 

Course Extra - Spring Boot Cookbook!

Inside this course, I'm including a Spring Boot Cookbook. You will have complete examples of using the Spring Framework with popular open source technologies. When you get hired as a Spring Framework developer, you'll have ready made Spring Framework examples!

My Spring Boot Cookbook includes example Spring Boot projects for:

  • MongoDB
  • MySQL
  • Postgres
  • Maria DB
  • DB2 Express
  • Neo4J
  • Redis
  • Cassandra
  • ActiveMQ
  • RabbitMQ

Course Extra - Learn Docker!

Docker is an exciting technology that is on fire right now! 

As a course extra, I'm including the first 3 sections from my top rated Docker for Java Developers course. You will learn more about what Docker is and how you can deploy and run a Spring Boot application inside a Docker container.

For Java developers, Docker really is a game changer!

Closed Captioning / Subtitles

Closed captioning in english is available for all course videos!

PDF Downloads

All keynote presentations are available for you to download as PDFs.

Lifetime Access

When you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.

No Risk - Money Back Guarantee 

You can buy this course with no risk. If you are unhappy with the course, for any reason, you can get a complete refund. The course has a 30 day Money Back Guarantee.

Future Proof Your Programming Career

There is huge demand for Spring Framework developers. Downloads of Spring Boot are up 425% year over year, while Gartner Research is calling Java EE "Obsolete". 

The market trends are clear. Popularity for JEE is rapidly declining.

The popularity for the Spring Framework is growing

Spring Framework 5 is packed with exciting and innovative new features making it a natural choice for enterprise application development.

Future proof your programming career. Start learning how to building modern applications using the Spring Framework and enroll in this course today!

Who is the target audience?
  • This course is ideal for Java developers who wish to use the Spring Framework for enterprise application development
Students Who Viewed This Course Also Viewed
Curriculum For This Course
250 Lectures
25:05:13
+
Introduction
4 Lectures 21:38


Setting up your Development Environment
08:14

What's New in Spring Framework 5?
06:45
+
Building a Spring Boot Web App
16 Lectures 01:27:21

How to use Spring Initializr to create a new Spring Boot project

Spring Initializr
04:55

In this lecture, I show you how to open a new Spring Boot project using the IntelliJ IDE.

Open Project in IntelliJ
10:37

In this lecture I show you how to setup JPA Entities, which will persist data via Hibernate. 

Preview 14:09

All source code for the course is available inside of GitHub.

Using GitHub
04:06

All code examples for my Spring Framework course are kept in GitHub. In this video, I review using GitHub for accessing the source code examples.

Code Examples in GitHub
03:03

In this lecture I talk about using Spring Data JPA Repositories. 

Spring Data JPA Repositories
07:53

When working with the Spring Framework, its often handy to initialize the database with data. In this video, I show you how to bootstrap the database with data upon startup.

Preview 06:45

This lecture is a programming assignment to add a new JPA entity for 'Publisher'.

Preview 01:34

In this lecture, I complete the programming assignment to add a new JPA entity for Publisher.

Preview 05:08

To build web applications, the Spring Framework includes Spring MVC. This is the part of the Spring Framework which interacts with web clients.

Introduction to Spring MVC
05:11

Spring MVC Controllers are the 'C' in Spring MVC. In this video, I show you how to use Spring Framework annotations to configure Spring MVC controllers.

Configuring Spring MVC Controllers
06:07

Thymeleaf is very popular in the Spring community. In this video, I introduce you to the Thymeleaf templating engine.

Thymeleaf Templates
08:28

Assignment - Display List of Authors
00:53

Assignment Review - Display List of Authors
06:39

Conclusion
01:03
+
Dependency Injection with the Spring Framework
22 Lectures 02:09:19
Introduction to Dependency Injection with Spring
01:34

SOLID Principles of OOP
09:59

In this lesson I show you how to create a new project, which we will use to explore how the Spring Framework performs Dependency Injection.

Create an Spring Framework DI Example Project
06:58

Core to the Spring Framework is the 'context'. This is where the Spring Framework will store Spring Beans.

The Spring Framework Context
05:07

Basics of DI
09:27

In this lesson, we take a look at using Dependency Injection without the Spring Framework.

Dependency Injection without the Spring Framework
10:05

In this lesson, I show you how easy it is to use the Spring Framework to manage dependency injection.

Dependency Injection using Spring Framework
07:14

Qualifiers are an important tool to tell the Spring Framework which bean you want injected. 

Using Qualifiers
06:46

When there is more than one qualifying Spring bean for a given dependency, you can mark one of them as Primary to indicate to the Spring Framework which bean should be selected.

Primary Beans
08:38

Profiles are a very important concept in the Spring Framework. They make it easy to customize how your Spring Application is configured.

Spring Profiles
06:05

When no other profile is active, the Spring Framework will include components annotated with the default profile.

Default Profile
05:23

Inside the Spring Framework, Spring Beans go through a very specific life cycle. In this lesson we learn about the lifecycle of Spring beans.

Spring Bean Life Cycle
07:03

Dependency Injection Assignment
01:11

Dependency Injection Assignment Review
04:20

Spring Bean Life Cycle Demo
05:14

Flashcards
05:46

Single Responsibility Principle
03:53

Open Closed Principle
05:21

Liskov Substitution Principle
04:41

Interface Segregation Principle
06:53

Dependency Inversion Principle
06:38

Conclusion
01:00
+
Building A Spring Boot Jokes App
9 Lectures 28:52
Introduction
01:32

In this lesson, you are given an assignment to create a new Spring Boot project using the Spring Initializr. 

Assignment - Build a Spring Boot Jokes App
02:15

Creating the Spring Boot Project
04:15

Adding Maven Dependencies
02:56

Creating the Spring Service Layer
04:28

Creating the Spring MVC Controller
03:56

Creating the View Layer
06:05

Tips and Tricks - Custom Banner
02:05

Conclusion
01:20
+
Spring Framework Configuration
12 Lectures 01:08:38
Introduction
00:40

Spring Configuration Options
05:11

Spring Stereotypes
06:27

Component Scan
06:30

Java Configuration Example
04:31

Spring XML Configuration Example
05:35

Using Factory Beans
07:16

Spring Boot Configuration
08:45

Spring Boot Configuration Demo
07:58

Spring Bean Scope
05:28

Flashcards
08:31

Conclusion
01:46
+
External Properties with Spring
10 Lectures 48:15
Section Overview
01:30

Property Source
08:38

Spring Environment Properties
06:32

Multiple Property Files
04:42

Spring Boot Application.properties
05:01

Introduction to YAML
06:26

Spring Boot YAML Properties
03:09

Property Hiarchy
04:35

Spring Boot Profile Properties
06:15

Conclusion
01:27
+
Web Development with Spring MVC
14 Lectures 01:13:14
Introduction
02:58

Assignment: Create a Recipe Project
01:29

Assignment Review - Create Recipe Project
04:11

Create Index Page
08:36

HTTP Protocol
09:28

HTTP Request Methods
11:47

Chrome Developer Tools
04:31

Firefox Firebug
02:50

Firefox Developer Edition
02:26

Safari Web Inspector
02:51

Axis TCPMon
06:01

Spring Boot Development Tools
07:39

IntelliJ Compiler Configuration
06:46

Conclusion
01:41
+
JPA Data Modeling with Spring and Hibernate
18 Lectures 02:05:46
Introduction
01:34

JPA Entity Relationships
10:44

Recipe Data Model
06:39

Forking in GitHub
05:15

One To One JPA Relationships
09:55

One To Many JPA Relationships
05:35

Assignment - Create One to One Relationship
02:45

Assignment - Review
05:37

JPA Enumerations
04:51

Many To Many JPA Relationships
10:19

Creating Spring Data Repositories
05:22

Database Initialization with Spring
11:54

Spring Data JPA Query Methods
08:20

Assignment: Display List of Recipes on Index Page
03:05

Assignment Review: Display List of Recipes
15:53

Pro-Tips - Using Setters for JPA Bidirectional Relationships
07:37

Flashcards
09:20

Conclusion
01:01
+
Project Lombok
7 Lectures 30:39
Introduction to Project Lombok
01:46

Project Lombok Features
09:54

Adding Project Lombok and IDE Configuration
03:27

Using Project Lombok
03:50

Assignment - Complete Refactoring with Project Lombok
01:10

Assignment Review
04:22

Gotchas with Project Lombok
06:10
+
Testing Spring Applications
13 Lectures 01:21:12
Introduction
01:42

Using Bootstrap CSS
09:02

Introduction to Testing Spring
17:28

Creating a JUnit Test
05:04

Using Mockito Mocks
07:33

Assignment - Write Test for IndexController
01:43

Assignment Review
06:15

Mockito Argument Capture
08:27

Introduction to Spring MockMVC
04:36

Spring Integration Test
05:20

Maven Failsafe Plugin
04:04

Continuous Integration Testing with Circle CI
09:07

Conclusion
00:51
11 More Sections
About the Instructor
John Thompson
4.4 Average rating
1,429 Reviews
7,053 Students
7 Courses
Spring Framework Guru - Best Selling Udemy Instructor

Hi. I'm John.

I've been in the IT industry for over 20 years. Today, I specialize mainly in Java, the most successful and widely known programming language in use today. I also specialize with the Spring Framework, which the most popular open source application framework for building enterprise class applications on the Java platform. Just some of the organizations I've worked with include Visa, Kohls, Federal Home Loan Bank, and Belk Department Stores.

Through the courses I'm providing, I hope to leverage my years of experience to accelerate your learning of the Spring Framework. I'm not going to lie to you. The Spring Framework is a big framework. The environment for enterprise Java is even bigger. If you're new to Java, you have a lot to learn. I hope through the content on this web site I can accelerate your education of the Java and Spring landscape.