Learn Spring with the most modern and comprehensive course available for Spring Framework 5 and Spring Boot 2. You will see how to build multiple real world applications using Spring Framework 5.
This is the only major Spring Framework course on Udemy developed completely on version 5 of the Spring Framework.
Be careful of Spring Framework 4 courses, which have just added some content for Spring Framework 5.
The in demand technologies you will use to build Spring Framework applications, include:
- Spring Framework 5
- Spring Boot 2
- Spring Data JPA
- Spring MVC
- Spring MockMVC
- Spring WebFlux
- Spring Web Client
- Spring Data MongoDB
- Spring Security (Coming in Q2 2019)
- Project Lombok
- JUnit 4 and JUnit 5
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.
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.
You will learn how to test Spring applications using JUnit 4 and JUnit 5. While JUnit 5 has been released for some time, many companies are still using JUnit 4.
See how using Mockito mocks will keep 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 24 (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.
In the course you will also learn how to use Spring MVC to create RESTful APIs.
A big theme of Spring Framework 5 is Reactive Programming.
Inside the course we build a web application using Thymeleaf, Spring MVC, Spring Data MongoDB, and MongoDB.
We then take the MongoDB application we built and convert it to a Reactive application. You’ll see how you can leverage the new Reactive types inside the Spring Framework from the data tier to the web tier.
You will get to see step by step how to convert a traditional Spring MVC application to an end to end reactive application using the WebFlux framework – which is brand new to Spring Framework 5.
Spring Pet Clinic
Spring Pet Clinic is a classic reference application used to demonstrate best practices. The Pet Clinic application actually has it’s origin within the J2EE/JEE community.
The Spring Framework team took the original Pet Clinic application and rebuilt it using Spring, to demonstrate best practices.
In this course, we will re-create the Spring Pet Clinic application.
You will get to see how to create a Spring Framework application from the ground up. Step by Step.
The approach used to develop the Spring Pet Clinic application is slightly different than the other applications developed in the course.
In addition to showing you how to build a Spring Framework application, you will see best practices in software development.
We start off the Pet Clinic project by creating a GitHub repository. Then using Spring Initializer to generate the basic shell of Spring Boot project.
Next you see how to use GitHub to mimic Agile development practices, such as using issues and a backlog.
We plan development of the Spring Pet Clinic using GitHub Issues. Planning work into issues creates a work backlog, which is an important Agile concept.
In fact, many organizations have a formal rule that no code is changed without having an issue or some type of ticket (in Github, Jira, or some other issue tracker)
From there, we use GitHub issues to complete programming assignments. Lessons start with a GitHub ticket, then we complete the programming assignment.
You will see how to build a Spring Framework application, step by step, using best practices in software development.
Spring Framework 5 GA Release
This Spring Framework course has been developed completely on Spring Framework 5. Early developed was performed using Spring Framework 5 ‘Release Candidate’ releases.
Spring Framework 5 went GA (General Availability) in September of 2017, and Spring Boot 2.0 went GA in March of 2018.
All source code examples have been updated to the GA releases of the Spring Framework and Spring Boot.
- 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!
- August 25th, 2017 – Reactive Programming with Spring Framework 5! Almost two hours of additional content has been added on Reactive Programming and Reactive MongoDB.
- October 10th, 2017 – 3 hours of new content added for consuming and building RESTFul web services using Spring MVC. This includes using RestTemplate to consume RESTFul services, Spring 5 WebClient to consume RESTFul services using Reactive data types, and new lessons on using MapStruct for data mapping.
- November 23rd, 2017 – New Slack community created exclusively for students of this course. Students and interact with instructor and hundreds of other students real time!
- December 20th, 2017 – All source code examples updated to Spring Boot M7. (Milestone #7)
- December 31st, 2017 – 1 hour of new content added to the course about using Swagger with Spring Boot and Spring MVC. Learn how to generate Swagger documentation for your Spring MVC RESTful APIs! Also – 2 hours of additional content about using Spring WebFlux for creating RESTful APIs are in post production! Expect this content to be released in early January of 2018!
- January 5th, 2018 – 2 Hours of new content around creating RESTFul APIs using Spring WebFlux. See how to use the Reactive Programming features of Spring Framework 5 to build RESTFul APIs. Go fully reactive with Spring WebFlux and Spring Data MongoDB!
- January 24th, 2018 – 1 Hour of new content added to the course around content negotiation for Spring MVC. Learn how to configure Maven for a multi-module Spring Boot project and use JAXB to generate Java classes from XML Schema. See how to render XML using Spring MVC.
- March 28, 2018 – All source code examples updated to Spring Boot 2.0 RELEASE.
- July 5th, 2018 – 1.5 Hours of new content added for setting up MySQL. This is to support persisting data to MySQL databases using Spring later in the course.
- July 25th, 2018 – 3+ hours of content added for building the Spring Pet Clinic application. Learn how to build a Spring Boot web application step by step, using best practices in software development!
- August 4th, 2018 – Another 3 hours of content added for building the Spring Pet Clinic application!
- August 30th, 2018 – Introduction to JUnit 5 added to course. While JUnit 4 has become the de facto standard in testing Java applications, JUnit 5 has been released and is rapidly growing in popularity.
- September 27, 2018 – 90 minutes of new content added to the Spring Pet Clinic Application. See how to test Spring MVC using JUnit 5 and Mockito.
- November 22, 2018 – 60 minutes of new content added to Spring Pet Clinic application. Included community contributions from GitHub, and update of project to Java 11.
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 2019:
- Spring Security
- Documenting your APIs with RestDoc
- Aspect Oriented Programming (AOP)
- Using Spring Events
- Scheduling Tasks
- Caching with eHcache
- Spring JDBC (JDBC Template)
- 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!
Course Extra – IntelliJ IDEA Ultimate
Students enrolling in the course can receive a free 4 month trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals!
Course Extra – Access to a Private Slack Community
With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world – in real time! This community is only available to students enrolled in this course.
This is a very active Slack community with over 5,200 Spring Framework Gurus!
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:
- Maria DB
- DB2 Express
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!
- This course is ideal for Java developers who wish to use the Spring Framework for enterprise application development