Friday, November 9, 2018

3 Ways to Learn Spring Core, Spring MVC, Spring Security, and Spring Boot Framework

If you are a Java developer and wants to learn Spring framework then you have come to the right place. In this article, I will share three ways to learn Spring framework, but before that let's understand what is a spring framework and why Java developers should learn Spring framework? Well, Spring is a framework which assists you to develop Java application by following some best practices, particularly the principle of dependency injection and inversion of control. As per this principle, instead of class asking for its dependency, the framework provides them at runtime.  Following these principles improves your code quality because it reduces coupling between different part of your applications e.g. between modules and classes, which makes them easier to test and develop.

Because of that goodness and several other helpful features, Spring framework has become a standard way to develop Java application, both core Java and Java Web application, particularly using Spring MVC, which implements another popular MVC design pattern to makes the development of web applications easier using Java technologies.

When it comes to learning a new technology or new framework, my 3 point action is to join a course, read a book, and build a project. I have followed this principle to learn a couple of things in last few years and it works really well.

Starting with a course give you much need head start because it's generally the start which is very difficult. At that time you don't know how to set up projects, how to run them, what library is needed, how to debug, how to check logs etc. Once you attend a good course, you will have someone expert on that technology explaining these basics to you.

Once you found your feet, its time to take deep dive and start building projects along with following a book. This way you learn the technology in deep by exploring it yourself rather than someone driving you like in a course.

Btw, like Java, Spring is also vast. There are several modules e.g. Spring Core, Spring MVC, Spring Security, Spring Data, and Spring Boot and you need to decide what you want to learn. Since most of the developers want to learn Spring MVC, I suggest you to first start with Spring Core and then follow Spring MVC part.



Spring Core

Spring core is the core framework which provides the container required for implement Dependency injection and inversion of control. It also provides a handy library with a lot of useful functionalities similar to Apache commons but most importantly you always need Spring core because Spring MVC, Spring Security all builds upon that.

Now the big question is which book to read and which course to join? Well, when it comes to joining a course you should always look when it is last updated and how many students have already joined it. That speaks a volume about the content and popularity of the course and on that parameter, I found Spring Framework Master Class to be the best course to start with.

How to learn Spring Core, Spring MVC online

It is trusted by more than 53,483 students and it is also quite up-to-date. It also covers Spring framework in depth including Spring core, Spring JDBC, Spring Boot along with how to setup and develop Spring application using Eclipse, unit testing and configuring Spring application using both Java and XML configuration. If you are just starting with Spring framework then this is probably the best course to start with.

Coming to books, Well, there are many books out there on Spring framework and I have read more than a couple but the book which I found most useful and up-to-date is Spring in Action 4th Edition which covers Spring 4.

How to learn Spring Core, Spring MVC, Spring Security, and Spring Boot Framework


This book covers most of the Spring related stuff e.g. Spring Core, Spring MVC, and even some part of Spring Security hence I advise every Java developer who wants to learn Spring to read this book.

Btw, if already know Spring and more interested in learning new reactive programming features introduced in Spring 5 then the Spring Framework 5: Beginner to Guru is a better course. It short and simple and you can quickly update yourself with Spring 5.


Spring MVC

Spring MVC is a framework to develop a web application using Java technology by following MVC design pattern i.e. Model View Controller. This provides a clear separation of functionality or concern, thus making it easier to develop a Java-based web application.

Once you went through the book and course I mentioned in the first section, you already have good knowledge of Spring MVC, but if you want to learn in depth with some assistance on creating a project by yourself then Spring MVC For Beginners: Build Java Web App in 25 Steps is a good place to start.

This course will teach you Spring MVC by building a project step by step. Precisely, you will build a Basic Todo Management Application piece by piece in 25 Steps.



Spring Security

Spring Security is used to provide out-of-the-box authentication and authorization support. Since most of the Java web application need login and access control mechanism, you will find Spring MVC and Spring Security used together.

The framework is very sophisticated and provides several features to support authentication and authorization using a database, LDAP, or any custom source.

The Spring in Action 4th Edition book touches part of Spring Security but doesn't provide full coverage i.e it doesn't cover OAuth or OAuth 2.0 and many advanced concepts which is covered in the Spring Security Certification Class course by Eugen Paraschiv.

If you are a beginner who is starting with Spring security or someone who already know Spring security and wants to improve your knowledge of Spring security, this course is one of the most up-to-date resources. It has been recently updated to cover Spring Security 5.0 as well.

how to learn spring security


Spring Boot

It's one of the relatively new members of Spring family. As the name suggests this framework help with the bootstrap process. One of the hardest thing with Spring is to start with i.e. set up and project, where you need to create a lot of configuration in XML or use a lot of annotations in Java classes and then create a WAR file and deploy into a web server to run it.

There was no simple way to start a Spring application just like you start a Java application by writing a main() method. Spring boot solves that problem by simplifying the bootstrap process.

It also provides options to embed a web server for quick development. In short, Spring Boot gives you all the power of the Spring Framework without all of its complexity.

To start with you can join Learn Spring Boot - Rapid Spring Application Development course from Udemy, it's a great course with several hands-on examples. You will not only learn Spring boot but also Spring MVC to develop web part, security to secure your application, JDBC to connect to the database and even learn how to explore your services as REST.

Btw, if you are more interested in learning Spring Boot 2.0, the latest version of Spring Boot then I suggest you take a look at Spring Framework 5: Beginner to Guru, which not only cover Spring 5 but also Spring Boot 2 as well.

how to learn spring boot 2.0


When it comes to books, I have only read Spring Boot in Action so far and found it a great resource. I am planning to learn more books on Spring Boot and will share if I found a good one.


That's about how you can learn Spring framework and its different parts e.g. Spring core, Spring MVC, Spring Security, and Spring Boot. As I told, its very important for a Java developer to know Spring to improve his chances of getting a job or better opportunity and when you have to learn a new thing, the 3 point action i.e. joining a course, reading a book, and building a project really work well.

Other Spring and Java Resources you may like
5 free courses to learn Spring Core and Spring MVC
How Spring MVC works internally in Java?
What is the role of DispatcherServlet in Spring MVC?
10 Things Java Programmer should learn in 2018
10 Tools Every Programmer should know
10 Frameworks Java and Web Developers should learn
Spring and Hibernate training courses for Experienced Java developers

Thanks for reading this article so far. If you like this post then please share with your friends and colleagues. If you have any questions or feedback then please drop a note. 

No comments :

Post a Comment