Want to become a Spring ninja quickly?

Quickly get up and running with coding real-world Spring applications, using the latest Spring projects and best practices.

"Your fastest route to become a Spring ninja."

  • Want to become a real-world Spring developer quickly?
  • Want to learn how to effectively use the latest versions of Spring projects?
  • Want to correctly develop neat real world applications, using the latest best practices?
  • Wasting time with the books and tutorials that teach outdated, theoretical and incomplete stuff?
  • Going through slow and giant tutorials that teach stuff that you may not need anytime soon?

Stop wasting your time with slow, giant or outdated tutorials.

Join this course today

Some Reasons Why You Should Take This Course


With our extensive experience on real-world development using Spring, we know the tricky issues that beginners commonly face when jumping to real world development. For example, how to send a verification mail after a user registers, only if the database commit succeeds? How to swap the current user programmatically? How to do input validations in the service layer? When should you use @Validated instead of @Valid?

We cover such common but intricate problems.


You don’t need any prior knowledge of Spring. We’ll make you comfortable, starting from the basic concepts.


The content, as you'll see below, is well designed, packed with carefully chosen topics and patterns for developing real-life applications.


Instead of teaching like a classroom degree, we take a problem centered approach. We go deep into the common real world problems, whereas touch upon the less common things fairly broadly, providing good references that you can explore later. This is a better and more intuitive way to quickly learn any vast and practical subject like Spring, as study says. In fact, we use the same course to build up our own internal developers.


We closely follow Spring Framework development and related blogs to constantly remain updated on the latest best practices, and keep updating the course.


The course follows a lean route to excellence, making it rapid and intuitive.


In the course, we will be developing a production grade user module having features like signup, login, email verification, forgot password, show profile and edit profile, which could be reused in your projects, saving hours of your effort and letting you jump to coding your business functionality quickly.


The course is constantly tested and updated with the latest releases of Spring Framework 5.x, along with Spring Boot 2.x. So, don’t worry about taking an outdated course.


We won't leave you in the middle. We provide free community support at stackoverflow (use np-spring and spring-lemon tags), and paid support or mentoring whenever you need.


After taking the course, to sharpen your knowledge and experience, you may get a chance to work on our real world projects, depending on the availability of suitable positions and several other factors.


The course is divided into four modules, each sold separately.

Module I

Spring Framework And Dependency Injection For Beginners

If you are new to Spring Framework, this module is an excellent place to start learning it. Here, we are first going to learn how to create a new Spring project and code some hello world stuff, and then we are going to learn the basics of dependency injection and the commonly used dependency injection features of Spring Framework - using Java configuration rather than XML. We are going to cover the key features useful in real world development, like Spring profiles, application properties, conditional annotations etc., which are very useful in real world development.

Even if you decide not to take the full course, this module is an independent course in itself. So, do go through this module to get started with Spring and its latest dependency injection features.

Here is a summary of key topics that we're going to cover:

  • Introduction and “hello, world” using Spring Boot and Spring MVC
  • Dependency Injection (IoC) concepts
  • Injecting and configuring beans
  • Annotations and Java configuration classes
  • Application properties
  • Spring profiles, and how to use active ones
  • Conditional annotations
  • Sending SMTP mails

Click here to know more details.

Prerequisites: You should already know core Java and its object oriented features like classes and interfaces. To follow the practical steps in the chapters, you also should have JDK 8 and some IDE installed. We've used Oracle JDK 8 and Spring Tool Suite (STS).

Price: FREE!

Module II

Spring MVC Rapid Tutorial For Beginners

In this module, we're going to learn the concepts and common features of Spring MVC. Broadly, we're going to cover the following:

  • Spring MVC concepts
  • Using JSP views
  • Sending data to views
  • Using static content, e.g. Javascript, CSS, images
  • Bootstrap
  • Messages and I18n
  • Receiving request data
  • Displaying and submitting forms
  • JSR-303 validation, custom error messages

Click here to see detailed content.

Why JSP over Thymeleaf: Many people ask me why I chose JSP over Thymeleaf for this tutorial. I chose it because of a few reasons. First, in real life, most new applications today may not need any server side templating – neither JSP nor Thymeleaf. They could be REST APIs connected from JavaScript clients (e.g. Angular) or Mobo clients. So, just for the sake of learning Spring MVC, it doesn’t make sense to learn a new templating language, rather than using the known beast – JSP. Secondly, although Thymeleaf is technically superior, it’s not much popular – search a job site for the proof.

Prerequisites: You should have some prior knowledge of Java web development and JSP. If you don’t have knowledge on Java web development, I recommend you first go through this course or something similar. If you don’t have knowledge on JSP, you can just buy some good JSP book or some video tutorial – there are ample available.

Price: USD 15 FREE if you join now!

Module III

Spring Framework Tutorial: Practical, Rapid, Intuitive

In this module, we'll dive into the common Spring projects such as Spring Security, Spring Data, Spring AoP, and also some advanced Spring MVC stuff such as custom validation, validation groups and exception handling. We’ll also code a real-world user module having features like signup, login, verify email, forgot password, display and edit user profile. So, if you want to develop a new real-world application, you can just fork our source repository and jumpstart coding your business logic.

As already mentioned, instead of a classroom approach, we’ll dive deeply into the commonly used real-world features, patterns and the latest best practices, and touch upon the less common things in a brief manner, providing links and resources for further reading. This would be the fastest way to quickly learn a vast subject like Spring and code like an experienced real-world Spring developer, we believe.

The topics that we'll cover include:

  • Spring Data, Spring Data JPA, transactions, after-commit code execution
  • Spring Security, basic and form based authentication, mapping users and roles, Security tag library, authorization, password encryption, remember-me, accessing current user, signing-in and out programmatically, CSRF
  • Flash attributes, Spring Data web support
  • PostConstruct, Application events and listeners, CommandLineRunner, ApplicationRunner
  • Custom validation, coding field level and class level custom constraints, validation groups
  • Exception handling
  • Aspect Oriented Programming using Spring AOP
  • Scheduling and asynchronous processing
  • Spring Boot Actuator
  • Developing a complete application having a real-world user module with sign up, sign in, email verification, forgot password, profile and edit profile

Click here to know more details and get it now only for USD 45 15!

Prerequisites: You should have gone through Module I and II.

Module IV

Mastering Real-World RESTful Web Services Development With Spring

Most Spring applications and microservices today would be back-end APIs, accessed from separate browser based clients (e.g. Angular or React applications), mobile apps or other microservices. In this module, we're going to learn how to develop such APIs using Spring best practices. We're also going to layout an elegant blueprint for the features that are needed to develop such APIs, such as

  • Spring Security configuration for REST (redirection, CORS, JSON vulnerability etc.)
  • Stateless JWT (JWE) token authentication
  • Multiple social sign on support (using OpenID Connect or OAuth2 providers, such as Google and Facebook)
  • Captcha validation
  • Mechanism for handling validations and exceptions in a cross functional manner, sending precise errors to the client
  • Support for elegantly using PATCH and JsonPatch to handle partial updates correctly
  • A robust user module
  • API testing and documentation

In fact, whatever we're going to learn in this module is already packaged as a configurable and extensible open source library, which you can just include in your project and jump to coding your business logic. Click here to know more about it and get the getting started video tutorial or book for FREE.

Click here to see detailed content.

Prerequisites: If you have completed our module III, you're good to go! Or, at least you should have some basic knowledge of Spring Framework’s Dependency Injection, Java configuration, Boot, MVC, Security and Spring Data JPA.

Format: Available in both b>eBook and video tutorial format.

Video tutorial price: The video tutorial would cost you USD 297 after release. But, if you pre-order now, you'll get it only for USD 297 97 (plus taxes as applicable). Click here to pre-order!

eBook price: The eBook would cost you USD 115 after release. But, if you pre-order now, you'll get it only for USD 115 27 (plus taxes as applicable). Click here to pre-order!

Don't waste time! Grab it now and start learning the right way!

What our Spring 4 students say

Thank you for getting me up to speed on Spring 4 and Spring Boot so quickly. Your title for the course is accurate. I used this course to better prepare myself for my new job that uses these techs. Before, I only had a cursory understanding of Spring 3, but now I have a better grasp on Spring 4 and the latest techs, using best practices and building a simple but good starter application. Thank you for explaining everything clearly but succinctly and getting me going quickly!

- Jasna Rodulfa Blemberg

I've taken a number of Spring courses. This one packs the greatest amount of content into the shortest amount of time. It's well done and is the course to get into spring quickly. I like that the instructor uses annotations as much as possible, which is the trend of the future. I would love for the instructor to do a follow up class where he goes into more depth on some of the topics.

- Vincent Sharma

The instructor introduce very useful, very up to date Spring /Web development technology. The source file and projects are good reference for my current and future assignment. Highly recommended.

- Phillip Xiao

The approach here is the thing I like the most. It gives you the basic knowledge to start writing spring applications and while doing this, to keep learning on the way. And, on my opinion, being interesting is crucial for sustaining the interest and motivation to learn.

- Ilin Rusev

I had subscribed the other courses of Mr. Sanjay Patel, He is one of the few Authors who addresses the concepts to beginners or learners, Learning a MVC tool like spring requires to start with concepts and Sanjay delivers them very well. I dont use spring at work, but I m confident enough to handle as a team member in any Spring project after taking up this course, thanks again Mr. Sanjay for an exceptional course.

- Jaiyaramakrishnan Mahendran

I didn't know anything about spring, just a bit of Java EE and HTML, and now I think I can develop applications correctly using Spring. I strongly recommend to do this course if you need to start from scratch. I spent just one week doing it and it was enough to have the level to teach myself from now. Thanks so much Sanjay, great course!

- Alberto Domínguez

This was a great course and I'd recommend this to anyone as the first course to take if they are new to learning about Spring Framework. I'm also participating in a number of other courses available on Udemy related to Spring Framework, JPA, and so forth. This is single-handedly the best one for introductory purposes.

- Jack Peterson

I'm on step 21 out of 28 and I must say, that this is the best, clearest and fastest Spring course a money can buy. John Purcell's course is also great, when you want to know exactly how Spring works behind the scenes (lots of XML config and so on), but when you want to catch up PRACTICAL part of Spring, you couldn't find anything better. Once more, worth EVERY money.

- Maciej Szkamruk

I think Sanjay did a really great job of going through real world examples that meant something. It was not all theory and something you had to imagine, he actually shows you how to do things. I felt comfortable enough that at some points of the video I would stop the video and write the code than compare to him. Anyhow, this is definitely for someone who is familiar with Java and familiar with MVC. It will get you up and running fast and enough to where you can start working. You will have to explore the docs for more info as he suggests in the final video.

- Hatem Jaber

Explanation is clear. There are lot of tutorials on spring framework on the internet but most of them are outdated. This tutorial covers the latest version 4.0 in a easy to understand manner.

- Arpan Solanki

I can recommend this course to anyone who wants to get started with Spring within a short time. There are no long and boring explanations of APIs an so on. The expertise of the author is impressive. Everything is presented with a practical approach how to build a Spring 4 Boot application. In each section the application is extended with new features and we go step by step further. At the end we will have a Spring4 application with security, login-handling including forgotten password handling, execution tracing with AOP, transaction handling, GUI and so on. The course is definitely worth the money.

- Tamas Galli

This is a great tutorial and it made me see Spring 4 in a better light. I am familiar with Spring 3 but I couldn't get enough time to really look into Spring 4. The tutorial was easy to follow and it showed how easy it is to quickly become productive with Spring 4 which has simplified a lot of processes from the earlier versions of Spring.

- Francis Phiri


Shall I be a Spring Framework Guru after taking the course?

Not at all. Spring has grown too vast to master that easily.

But, you’ll be coding like an experienced Spring guy, and behave like a real world Spring developer. In fact, you'll will be using the latest best practices that even experienced Spring developers miss.

Also, whenever needed, you’ll be confidently able to explore the Spring documentation or source code, and use the features that your project would require.

Why are you using JSP instead of Thymeleaf?

Although Thymeleaf is technically superior to JSP, we preferred to stick to JSP for this course. Below are a couple of reasons.

First, the world is gradually moving towards isomorphic or rich JavaScript clients, such AngularJS or mobile clients, backed by APIs in the server side. Pure server side templating seems to be fading away gradually. So, we feel that spending your time in learning AngularJS or React will be more important than learning Thymeleaf, which may never get widely adopted.

Secondly, JSP is already familiar to most and is well adopted by the enterprise world. In your company, the chances of you working on a JSP project is much more than that of Thymeleaf. Visit a job site and you'll find that JSP is much more in demand then Thymeleaf.

I know Spring well enough, and am only interested in REST API development, i.e. Module IV. Do I still have to take Module I, II and III?

No need. Module IV can be taken separately.

I've already gone through your older Spring books and tutorials. Should I still take this course?

  1. There are many small but key improvements in module I, II and III. I'd recommend you do through those sometime at ease.
  2. Module IV is the new version of the Spring Framework REST API Development - A Complete Blueprint eBook. But, it has got major changes, and is a video tutorial. So, you should take this even if you gone through the old eBook.

Will I get FREE updates for lifetime?

Minor updates leading to just adding a few videos would be free. But we won't guarantee free updates if a new course is made, replacing the existing videos.


Feel free to mail us at info at naturalprogrammer dot com.


sanjay-transparent-200x200Sanjay has more than 20 years of programming and leading experience. Since 2009, he is working on Spring Framework fulltime for developing complex applications and microservices for multiple clients. He also leads the development of Spring Lemon.

He is currently the director of naturalprogrammer.com, providing consulting on developing large scale real-world applications. Prior to that, he was a technical lead at RAD Solutions Private Limited, doing research on open source tools, frameworks, patterns and methodologies for rapid application development. Previously, he was a project leader at Cambridge Solutions and an assistant manager at L & T Limited. He is an MCA from Osmania University and a B. Sc. (Physics) from Sambalpur University, India.

He is also the author of many real-world books and tutorials around Spring, with about 40K students at Udemy, YouTube and Gumroad.

Click here to know more about him.