Prerequisites to Learn Spring Boot

In this short article, I would like to answer a few questions that I often receive via emails, DM's and comments on my YouTube videos:

1. Can I learn Spring boot after Core Java?

2. What do I need to learn before learning Spring Boot?

3. Do I learn Spring Boot without Spring Framework knowledge?

Let's put all the above questions into a single question: "What are Prerequisites to Learn Spring Boot".

I will describe my opinion by answering this question.

As per my experience mastering Spring Boot, here is the order to learn Spring Boot:

- Core Java 

- Servlets

- Spring core basics

- Spring Boot

YouTube Video

This article is explained very well in below YouTube video:

Core Java

Core Java is the foundation for learning Spring Boot. Understanding the basics of Java programming is essential, as Spring Boot applications are written in Java.

What You Need to Learn in Core Java:

  • Java Syntax, loops, control statements, data types, variables, Strings, and Arrays.
  • Object-Oriented Programming (OOP) concepts like inheritance, polymorphism, and encapsulation.
  • Collections Framework (List, Map, Set, etc.) for data management.
  • Exception Handling for robust code.
  • Input/Output Streams for file handling.
  • Basics of Multithreading for concurrent programming.

These concepts will help you write better and more efficient Spring Boot applications.

Servlets

You should learn the Servlet basics because if you want to develop Spring MVC web applications, then you need to understand DispatcherServlet.

DispatcherServlet is a Servlet, and you won't understand how to configure DispatcherServlet and how DispatcherServlet works if you don't know the Servlet basics.

Just learn the Servlet basics, but not in-depth, so that you can understand DispatcherServlet and Filters in Spring boot.

Learn Servlets at https://www.javaguides.net/p/servlet-tutorial.html

Learn Spring MVC at https://www.javaguides.net/p/spring-mvc-tutorial.html

Servlets are a critical part of Java web development. Even though Spring Boot abstracts many servlet-related tasks, understanding servlets gives you insight into how web applications work under the hood. 

Spring Core Basics

People directly jump onto SpringBoot without having any prior Spring knowledge, and everything looks magical. It works great as long as you go with the defaults, and the moment you need to customize it, it feels complex.

I suggest learning Spring core basics or fundamentals first before learning Spring boot.

Here are the Spring core concepts or fundamentals you can learn:

- Spring DI concepts

- Spring containers - BeanFactory, ApplicationContext

- Spring AOP

- Spring Beans

- Spring Bean Scopes

- Life Cycle callbacks

- Bean configuration styles: Learn XML, annotation-based, and Java-based configurations.

Learn Spring core concepts here at https://www.javaguides.net/p/spring-core-tutorial.html

Spring Boot

Once you are familiar with Java, Servlets, and Spring core fundamentals, then you can learn Spring Boot.

Learn and master Spring boot at https://www.javaguides.net/p/spring-boot-tutorial.html

Video - Learning Path for Spring Boot

How to Learn Spring Boot Step by Step - Spring Boot Learning Path

Conclusion

In my opinion, here is the order to learn Spring Boot:

- Core Java 

- Servlets

- Spring core basics

- Spring Boot

Comments