This is the Module III of our full course "Spring Framework Rapid Tutorial For Real World Development." If you haven't gone through Module I and II, go through those first. You'll find the link to Module I, which is Spring Framework And Dependency Injection For Beginners, from my author profile page, at the bottom of this page, or just by googling.
In this module, we’ll dive into the commonly used 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 walk through coding a real-world user module having features like signup, login, verify email, forgot password, display and edit user profile. You can then, when developing a new Spring application, fork our source code and reuse that — saving days of your effort and letting you jump to coding your business functionality quickly.
Why this course
If you are new to Spring Framework, or you know some old version of Spring and want to rapidly catch up, then this course will get you up and running with developing neat and maintainable real world applications using the latest Spring projects in the right ways, in a practical, rapid and intuitive manner. Instead of learning in a traditional way, feature-by-feature, here we will take a problem-solution approach. We will go deep in the commonly useful things, and touch upon the less common things in a brief manner, leaving up to you to find out more on your own, when needed. This would be the fastest and intuitive way to learn any vast and practical subject like Spring, you'll agree.
"But Spring already has excellent reference material and official guides. Also there are numerous books, tutorials and blog posts around. So, why another course?"
Spring’s reference material, although great for reference, won’t serve as a step-by-step learning material. The official guides in turn are good for getting started, but only on some piecemeal topics. Most of the books and tutorials, on the other hand, would teach Spring in a classroom manner. They try to cover all the topics, but don’t go deep into anyone. Consequently, after going through those, you get familiar with Spring, but still remain far away from coding real-world applications. At work with tight schedules, you then waste your time to figure out solutions even for the common real-world scenarios. Some Stackoverflow or blog posts help, but you find most of those obsolete — because Spring advances very fast.
Hence this course. Here we’ll begin from zero, assuming that you are absolutely new to Spring. But as we’ll progress, we’ll go deep into the scenarios that are typically needed in most real-world projects. We will use latest Spring versions, such as Spring 5 and Spring Boot 2, and see how to write neat and maintainable code using their best practices. Fear not if you are still using Spring 4 though — we'll discuss about the incompatibilities and their solutions.
What we'll learn
In Module I, we'll first learn how to create a new Spring project and code some "hello, world" stuff. Then we'll explore Spring’s dependency injection concepts and its commonly used real-world dependency injection features — like profiles, application properties, conditional annotations etc. — using Java configuration rather than XML. Even if you don’t take the full course, Module I is an independent course in itself that you can go through before taking any other Spring course.
In Module II, we'll learn the concepts and useful real-world features of Spring MVC.
In Module III, which is this one, we'll dive into the commonly used 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 walk through coding a real-world user module having features like signup, login, verify email, forgot password, display and edit user profile.
Being in the era of services and microservices rather than full-stack applications, in Module IV, we'll learn how to develop real-world REST services using Spring and its latest best practices. In fact, we'll go through a complete blueprint having many advanced features, such as social sign-on using multiple providers like Google and Facebook, captcha validation, stateless API key authentication, etc.. That blueprint will also include a robust user module, and is actually packaged as a configurable and extensible open source library, named Spring Lemon, which you can just include in your projects and start coding your business logic straightaway.
To know more about the full course and its content, visit its landing page — link to it is available in the resources section of the first module. In summary, the content of this course is well designed, packed with carefully chosen topics useful for developing real-life applications. To get an idea about what all we shall be covering in this particular module, have a look at the detailed content below. And of course, if you are still in doubt whether this course would be useful to you, you can give it a try, with the Udemy's one-month money back guarantee with you.
So, enroll now and utilize full power of Spring in your next project!
Sanjay has more than 20 years of programming and leading experience. Since 2009, he is working on Spring Framework full-time for developing complex applications and microservices for multiple clients. He also leads the development of Spring Lemon.
He is currently the director of naturalprogrammer dot 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.