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!
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 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.
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:
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 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:
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!
All keynote presentations are available for you to download as PDFs.
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!
How to use Spring Initializr to create a new Spring Boot project
In this lecture, I show you how to open a new Spring Boot project using the IntelliJ IDE.
In this lecture I show you how to setup JPA Entities, which will persist data via Hibernate.
All source code for the course is available inside of GitHub.
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.
In this lecture I talk about using Spring Data JPA Repositories.
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.
This lecture is a programming assignment to add a new JPA entity for 'Publisher'.
In this lecture, I complete the programming assignment to add a new JPA entity for Publisher.
To build web applications, the Spring Framework includes Spring MVC. This is the part of the Spring Framework which interacts with web clients.
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.
Thymeleaf is very popular in the Spring community. In this video, I introduce you to the Thymeleaf templating engine.
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.
Core to the Spring Framework is the 'context'. This is where the Spring Framework will store Spring Beans.
In this lesson, we take a look at using Dependency Injection without the Spring Framework.
In this lesson, I show you how easy it is to use the Spring Framework to manage dependency injection.
Qualifiers are an important tool to tell the Spring Framework which bean you want injected.
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.
Profiles are a very important concept in the Spring Framework. They make it easy to customize how your Spring Application is configured.
When no other profile is active, the Spring Framework will include components annotated with the default profile.
Inside the Spring Framework, Spring Beans go through a very specific life cycle. In this lesson we learn about the lifecycle of Spring beans.
In this lesson, you are given an assignment to create a new Spring Boot project using the Spring Initializr.
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.